Come ottengo il codice di uscita del comando e non xterm?
Domanda
Se chiamo un comando (nel mio caso un altro script) con xterm in questo modo:
xterm -e sh second.sh
Il valore in $?
dopo che xterm ritorna è il codice dello stato di uscita di xterm (di solito per me 0) e non il mio script.
Esiste comunque per ottenere il codice di stato di uscita del mio script?
Soluzione
Potresti fare qualcosa del genere:
statusfile=$(mktemp)
xterm -e sh -c 'yourcommand; echo $? > '$statusfile
status=$(cat $statusfile)
rm $statusfile
Lo stato di uscita di yourcommand
è ora nella variabile status
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow