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?
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
.