从bash脚本访问ERRORLEVEL

时间:2011-07-26 09:17:34

标签: bash cmd errorlevel

我有一个应用程序,只有从Windows命令提示符调用时才能正常工作。与输入/输出流有关。

所以我可以通过将它作为参数传递给cmd来从bash脚本中调用它。

cmd / c“badapp”

这很好 - 但偶尔badapp会因网络问题而失败 - 而且我没有得到反馈。无论如何都要从bash脚本中检查ERRORLEVEl - 或者在运行bash脚本的终端上查看badapp的输出?

1 个答案:

答案 0 :(得分:52)

是的,$?是包含错误级别的变量。

例如,尝试echo $?

来自Cygwin bash的一个例子(我猜你正在使用Cygwin,因为你在你的例子中使用了Windows 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