Ho bisogno di catturare l'output e l'errore di un comando nel mio script bash e sapere se il comando è riuscito o meno.bash cattura variabile stderr e stdout separatamente o ottiene il valore di uscita
Al momento, sto catturando sia così:
output=$(mycommand 2>&1)
Poi ho bisogno di controllare il valore di uscita di myCommand. Se non funziona, ho bisogno di fare qualcosa con l'output, se il comando è riuscito, non ho bisogno di toccare l'output.
Dal momento che sto acquisendo l'output, controllando $? è sempre uno 0 da quando bash è riuscito a catturare l'output nella variabile.
Questo è un molto tempo sceneggiatura sensibile, quindi stiamo cercando di evitare eventuali soluzioni più lenti come l'output in un file e ri-lettura in.
Se potessi catturare stdout ad una variabile e stderr ad un altro, questo risolverebbe il mio problema perché potrei controllare se la variabile di errore fosse vuota o meno.
Grazie.
Sede [BashFAQ/002] (http://mywiki.wooledge.org/BashFAQ/002) e [BashFAQ/047] (http://mywiki.wooledge.org/BashFAQ/047). –