Search code examples
bashxterm

How do I get the exit code of command and not xterm?


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?


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.