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?

È stato utile?

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
scroll top