Question

If I call a command (in my case another script) with xterm like so:

xterm -e sh second.sh

The value in $? after xterm returns is the exit status code of xterm (usually for me 0) and not my script.

Is there anyway to get the exit status code of my script?

Was it helpful?

Solution

You could do something like this:

statusfile=$(mktemp)
xterm -e sh -c 'yourcommand; echo $? > '$statusfile
status=$(cat $statusfile)
rm $statusfile

The exit status of yourcommand is now in variable status.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top