Mein Befehl ist:
exec &>/dev/null
Was macht dieser & und der vollständige Befehl hier? Ich weiß, dass es in den Bit-Bucket umgeleitet wird.
bash
shell
io-redirection
exec
William Ross
quelle
quelle
Antworten:
Es ist
&>
nicht nur so&
.In
bash
,&>
leitet sowohl die Standardausgabe und die Standardfehlerstrom irgendwo.Daher
utility &>/dev/null
ist das gleiche wieutility >/dev/null 2>&1
.Der Befehl
exec &>/dev/null
leitet beide Ausgabestreams der aktuellen Shell um/dev/null
(dh er verwirft alle Ausgaben des Skripts ab diesem Zeitpunkt, fehlerhaft oder auf andere Weise).Der relevante Teil des
bash
Handbuchs:quelle
exec 2>&1 > /dev/null
/dev/null
(aber nicht den Standardfehler). Was es entspricht, istexec >/dev/null 2>&1
. Die Reihenfolge der Weiterleitungen ist wichtig.