Ich möchte eine Fehlerbehebung für mein Bash-Skript durchführen. Gibt es einen kurzen und einfachen Befehl, der beide generiert stdout
und den stderr
ich verwenden kann 2>&1
? Tut mir leid, wenn das trivial aussieht, aber ich kann mir im Moment einfach keinen vorstellen.
shell-script
io-redirection
stdout
stderr
Fragenüberlauf
quelle
quelle
ls . *blah
(Vorausgesetzt, Sie haben einige sichtbare Dateien im aktuellen Verzeichnis und keine, die auf endetblah
) ...Antworten:
Ein einfacher Ansatz wäre die
ls
Auflistung tatsächlicher und imaginärer Dateien:Dies setzt voraus , dass es sind sichtbare Dateien im Arbeitsverzeichnis , und dass Sie nicht haben , alle Dateien , die Ende in
.blah
11. ... und wenn Sie das tun, werden wir Sie nicht beurteilen.
quelle
bash -O failglob
. (undls .
kann auf stdout nichts zurückgeben, wenn das aktuelle Verzeichnis nur versteckte Dateien / Verzeichnisse enthält). Besserls / /x
Schreiben Sie einfach eine Subshell, die an
stdout
undstderr
...Zum Beweis, dass es funktioniert:
Dies wird Dateien erstellen
STDOUT.txt
undSTDERR.txt
die WorteSTDOUT
undSTDERR
jeweils.quelle
Um garantiert stdout vor stderr geschrieben:
quelle
Sie können eine Funktion schreiben, die Sie später verwenden können:
Dann:
quelle