2011-12-07 7 views
6

xtermではなくコマンドの終了コードを取得するにはどうすればよいですか?私はそうのようにxtermと(私の場合、別のスクリプトで)コマンドを呼び出す場合

xterm -e sh second.sh 

のxterm戻った後$?の値がしていない私のスクリプト(通常は私の0用)のxtermの終了ステータスコードです。

スクリプトの終了ステータスコードを取得するにはどうしますか?

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

yourcommandの終了ステータスが変数statusになりました:

答えて

5

あなたはこのような何かを行うことができます。

+2

+1。 'xterm'にコマンドのステータスを直接報告させる方法はないようです。 –

+0

テストするには、「exit 0」というスクリプトを作成しました。私はあなたのコマンドの代わりにこのスクリプトを呼び出します。終了コードは常に127です。私がyourcommandを 'sleep 10'と置き換えた場合、終了コードは正しいです。S – neildeadman

+0

私を無視します。 – neildeadman

関連する問題