50

Windows コマンド プロンプトから呼び出された場合にのみ正しく動作するアプリケーションがあります。入力/出力ストリームと関係があります。

そのため、cmd に引数として渡すことで、bash スクリプトから呼び出すことができます。

cmd /c "badapp"

これは問題なく動作しますが、ネットワークの問題で badapp が失敗することがあり、フィードバックが得られません。bashスクリプトからERRORLEVElをチェックする方法はありますか?またはbashスクリプトを実行している端末でbadappからの出力を確認しますか?

4

1 に答える 1

70

はい、$?エラーレベルを含む変数です。

echo $?たとえば、試してみてください。

Cygwin bash の例 (例では Windows を使用しているため、Cygwin を使用しているcmdと思います。)

susam@nifty /cygdrive/c/Documents and Settings/susam/Desktop
$ cmd /c "badapp"
'badapp' is not recognized as an internal or external command,
operable program or batch file.

susam@nifty/cygdrive/c/Documents and Settings/susam/Desktop
$ if [ $? -eq 0 ]
> then
>   echo "good"
> else
>   echo "bad"
> fi
bad
于 2011-07-26T09:39:19.417 に答える