Così:
$ command >>output 2>>error
Basta aggiungerli in una riga command 2>> error 1>> output
Tuttavia, tieni presente che >>
serve per aggiungere se il file contiene già dati. Mentre, >
sovrascriverà tutti i dati esistenti nel file.
Quindi, command 2> error 1> output
se non vuoi aggiungere.
Solo per completezza, puoi scrivere 1>
come solo >
poiché il descrittore di file predefinito è l'output. quindi 1>
e >
è la stessa cosa.
Quindi, command 2> error 1> output
diventa, command 2> error > output
Prova questo:
your_command 2>stderr.log 1>stdout.log
Ulteriori informazioni
I numeri 0
attraverso 9
sono descrittori di file in bash.0
sta per input standard, 1
sta per output standard, 2
sta per errore standard. 3
attraverso 9
sono di riserva per qualsiasi altro utilizzo temporaneo.
Qualsiasi descrittore di file può essere reindirizzato a un file o a un altro descrittore di file utilizzando l'operatore >
. Puoi invece usare l'operatore >>
per aggiungere un file invece di crearne uno vuoto.
Utilizzo:
file_descriptor > filename
file_descriptor > &file_descriptor
Fare riferimento alla Guida avanzata di scripting Bash:Capitolo 20. Reindirizzamento I/O.
Oppure, se ti piace combinare gli output (stdout e stderr) in un singolo file, potresti voler utilizzare:
command > merged-output.txt 2>&1