Asi takhle:
$ command >>output 2>>error
Stačí je přidat na jeden řádek command 2>> error 1>> output
Pamatujte však, že >>
slouží k připojení, pokud soubor již obsahuje data. Zatímco >
přepíše všechna existující data v souboru.
Takže command 2> error 1> output
pokud nechcete připojit.
Jen pro doplnění můžete napsat 1>
jako právě >
protože výchozí deskriptor souboru je výstup. takže 1>
a >
je to samé.
Takže command 2> error 1> output
se změní na command 2> error > output
Zkuste toto:
your_command 2>stderr.log 1>stdout.log
Další informace
Číslice 0
až 9
jsou deskriptory souborů v bash.0
znamená standardní vstup, 1
znamená standardní výstup, 2
znamená standardní chybu. 3
až 9
jsou náhradní pro jakékoli jiné dočasné použití.
Libovolný deskriptor souboru lze přesměrovat do souboru nebo na jiný deskriptor souboru pomocí operátoru >
. Místo toho můžete použít operátor >>
k připojí k souboru namísto vytvoření prázdného.
Použití:
file_descriptor > filename
file_descriptor > &file_descriptor
Viz Advanced Bash-Scripting Guide:Kapitola 20. Přesměrování I/O.
Nebo pokud chcete smíchat výstupy (stdout &stderr) do jednoho jediného souboru, můžete použít:
command > merged-output.txt 2>&1