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