Heim Datenbank MySQL-Tutorial make 2>&1

make 2>&1

Jun 07, 2016 pm 03:25 PM
amp background make post this

Background of this post: Recently, I always noticed that many guys can't distinguish the meaning among stdin, stdout, and stderr, especially, they always ask the same question as: what does 21 exactly mean? So, here I want to give a summar

Background of this post:

Recently, I always noticed that many guys can't distinguish the meaning among stdin, stdout, and stderr, especially, they always ask the same question as: what does "2>&1" exactly mean?

So, here I want to give a summary of this three things, and of course, I'd like to take this "2>&1" as an example.

-----------------------
Interpretation:

First of all, I want to give out the exact meaning of "2>&1":

2>&1:

0 is stdin. 1 is stdout. 2 is stderr
-------------
There's one way to remember this construct (maybe it is not entirely accurate):
-------------
First of all, 2>1 looks like a very good way to redirect stderr to stdout. but remember, it has a very harmful disadvantage: it may actually be interpreted as "redirect stderr to a file named 1".
-------------
& indicates that what follows is a file descriptor and not a filename. So the construct becomes: 2>&1.
-------------
>& is shell syntax for "fold a file descriptor into another", you can also interprete it as "it is the syntax to redirect a stream to another file descriptor"

So, now, have you got the meaning of what does "2>&1" exact mean? I think you do!

Yes, it's very easy to understand, but what's more, I want to go little deep into this topic.

-----------------------
Furthermore:

Following picture gives a very clear defination of what is stdin stdout and stderr:

#  In Linux everything is a file.
# Your hardware is also a file:
* 0 - Input - Keyboard (stdin)
* 1 - Output - Screen (stdout)
* 2 - Error - Screen (stderr)

make 2>&1# For standard output:

make 2>&1Clear enough?

If you still feel confused about this, you can view this page to find more infomation:
http://tldp.org/LDP/abs/html/io-redirection.html

-----------------------
Example:

Finally, I want to give you a example to end this entry(Try to understand it ^_^):

The output of a.out is the following, without the 'STDXXX: ' prefix.

STDERR: stderr output<br> STDOUT: more regular

./a.out 3>&1 1>&2 2>&3 3>&- | sed 's/e/E/g'<br> more regular<br> stderr output

  1. First save stdout as &3 (&1 is duped into 3).
  2. Next send stdout to stderr (&2 is duped into 1).
  3. Send stderr to &3 (stdout) (&3 is duped into 2).
  4. close &3 (&- is duped into 3)

-----------------------
Others:

If you want to know what's the difference between "cmd >file 2>&1" and "cmd >file 2>file", pls refer this post which written by r2007:
http://bbs.chinaunix.net/thread-764727-1-1.html

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie CSS, um den rotierenden Hintergrundanimationseffekt von Elementen zu erzielen So verwenden Sie CSS, um den rotierenden Hintergrundanimationseffekt von Elementen zu erzielen Nov 21, 2023 am 09:05 AM

Wie man mit CSS rotierende Hintergrundbildanimationseffekte von Elementen implementiert, kann die visuelle Attraktivität und das Benutzererlebnis von Webseiten erhöhen. In diesem Artikel wird erläutert, wie Sie mithilfe von CSS den rotierenden Hintergrundanimationseffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir ein Hintergrundbild vorbereiten, das ein beliebiges Bild sein kann, beispielsweise ein Bild der Sonne oder eines elektrischen Ventilators. Speichern Sie das Bild und nennen Sie es „bg.png“. Erstellen Sie als Nächstes eine HTML-Datei, fügen Sie der Datei ein div-Element hinzu und legen Sie es auf fest

Was ist der Linux-Befehl make? Was ist der Linux-Befehl make? Mar 25, 2023 am 09:14 AM

Der Linux-Befehl „make“ ist einer der am häufigsten von Systemadministratoren und Programmierern verwendeten Befehle. Er bezieht sich auch auf einen „automatischen Kompilierungsmanager“, wobei „automatisch“ bedeutet, dass er neuere Dateien basierend auf Dateizeitstempeln automatisch erkennen und die Arbeitslast reduzieren kann Gleichzeitig kann er einen großen Teil der Kompilierungsarbeit durchführen, indem er den Inhalt der Makefile-Datei liest.

Eine kurze Analyse der POST-Methode in PHP mit Parametern zum Springen zur Seite Eine kurze Analyse der POST-Methode in PHP mit Parametern zum Springen zur Seite Mar 23, 2023 am 09:15 AM

Für PHP-Entwickler ist die Verwendung von POST zum Springen zu Seiten mit Parametern eine grundlegende Fähigkeit. POST ist eine Methode zum Senden von Daten in HTTP. Sie kann Daten über HTTP-Anfragen an den Server senden und die Seite auf der Serverseite überspringen. In der tatsächlichen Entwicklung müssen wir häufig POST mit Parametern verwenden, um zu Seiten zu springen und bestimmte funktionale Zwecke zu erreichen.

Beitrag zur Verwendung von Python-Anfragen Beitrag zur Verwendung von Python-Anfragen Apr 29, 2023 pm 04:52 PM

Python simuliert den Browser, der Post-Anfragen im Importrequests-Format sendet request.postrequest.post(url,data,json,kwargs)#Post-Anforderungsformat request.get(url,params,kwargs)#Im Vergleich zur Get-Anfrage sind die Parameter für das Senden von Post-Anfragen unterteilt Der Datenparameter „forms“ (x-www-form-urlencoded) unterstützt das Wörterbuchformat und das Zeichenfolgenformat. Das Wörterbuchformat verwendet die Methode json.dumps(), um die Daten in eine Zeichenfolge im legalen JSON-Format zu konvertieren

So ermitteln Sie, ob ein Beitrag in PHP übermittelt wurde So ermitteln Sie, ob ein Beitrag in PHP übermittelt wurde Mar 21, 2023 pm 07:12 PM

PHP ist eine weit verbreitete serverseitige Skriptsprache, mit der interaktive und dynamische Webanwendungen erstellt werden können. Bei der Entwicklung von PHP-Anwendungen müssen wir normalerweise Benutzereingabedaten zur Verarbeitung über Formulare an den Server übermitteln. Manchmal müssen wir jedoch feststellen, ob Formulardaten in PHP übermittelt wurden. In diesem Artikel erfahren Sie, wie Sie eine solche Feststellung treffen.

Wie initiiert Java eine http-Anfrage, ruft den Beitrag auf und erhält Schnittstellen? Wie initiiert Java eine http-Anfrage, ruft den Beitrag auf und erhält Schnittstellen? May 16, 2023 pm 07:53 PM

1. Java ruft die Post-Schnittstelle auf. 1. Verwenden Sie URLConnection oder HttpURLConnection. Es ist nicht erforderlich, andere JAR-Pakete herunterzuladen. Rufen Sie URLConnection auf kann nur empfangen werden, wenn der Antwortcode korrekt ist, um publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt zurückzugeben

So lösen Sie das Problem, dass der NGINX-Reverse-Proxy bei einer POST-Anfrage einer HTML-Seite 405 zurückgibt So lösen Sie das Problem, dass der NGINX-Reverse-Proxy bei einer POST-Anfrage einer HTML-Seite 405 zurückgibt May 22, 2023 pm 07:49 PM

实现如下:server{listen80;listen443ssl;server_namenirvana.test-a.gogen;ssl_certificate/etc/nginx/ssl/nirvana.test-a.gogen.crt;ssl_certificate_key/etc/nginx/ssl/nirvana.test-a.gogen .key;proxy_connect_timeout600;proxy_read_timeout600;proxy_send_timeout600;c

So verwenden Sie den Befehl „make' unter Linux So verwenden Sie den Befehl „make' unter Linux May 15, 2023 pm 12:37 PM

So funktioniert make Für diejenigen, die die Mechanik dahinter nicht kennen: Der Befehl make akzeptiert Ziele wie Befehlszeilenargumente. Diese Ziele werden normalerweise in speziellen Dateien namens „Makefiles“ gespeichert, und die Dateien enthalten auch den Zielen entsprechende Operationen. Weitere Informationen finden Sie in dieser Artikelserie zur Funktionsweise von Makefiles. Wenn der Befehl „make“ zum ersten Mal ausgeführt wird, durchsucht er das Makefile, um das Ziel und seine Abhängigkeiten zu finden. Wenn diese Abhängigkeiten selbst Ziele sind, durchsuchen Sie die Makefiles weiter nach diesen Abhängigkeiten, um ihre Abhängigkeiten festzustellen, und kompilieren Sie sie dann. Sobald die Hauptabhängigkeiten kompiliert sind, wird das Hauptziel kompiliert (das über den Befehl „make“ übergeben wird). Angenommen, Sie nehmen Änderungen an einer Quelldatei vor

See all articles