Eingabe-Ausgabe-Umleitung in Bash

Eingabe-Ausgabe-Umleitung in Bash

In Ksh mache ich zum Umleiten der E/A eines Befehls weg von der Standardausgabe/-fehlermeldung dies wie folgt: [wobei Befehl jeder Befehl ist, der eine Ausgabe/einen Fehler erzeugt]

command 2>filename
command 2>/dev/null

oder

command &>filename
command &>/dev/null

In Bash sehe ich oft Code wie

command >&/dev/null

was bedeutet das zusätzlich &, wenn dasselbe erreicht werden kann durch

command> /dev/null

Ich weiß, dass mir etwas fehlt, aber ich bin froh, es zu lernen.

EDIT: Ich wusste, was 2>&1 ist, was die sogenannte doppelte Frage ist. Mir wurde gesagt, dass 1 einen Dateideskriptor angibt und wir daher ein & benötigen, um darauf zu verweisen. Ich war verwirrt, als ich ein & vor dem Namen der Datei sah. Daher diese Frage.

Antwort1

>&fname

ist das gleiche wie

>fname 2>&1

d. h. es leitet weiterbeidestdout und stderr in die Datei fname. Eine detaillierte Erklärung finden Sie auf bash(1)der Manpage im Abschnitt REDIRECTION(insbesondere im Teil ).Redirecting Output

verwandte Informationen