我有一个应用程序,只有在从 Windows 命令提示符调用时才能正常工作。与输入/输出流有关。
所以我可以通过将它作为参数传递给 cmd 从 bash 脚本中调用它。
cmd /c“坏应用”
这很好用——但有时 badapp 会因网络问题而失败——我没有得到任何反馈。无论如何要从 bash 脚本中检查 ERRORLEVEl - 或者在运行 bash 脚本的终端上查看 badapp 的输出?
我有一个应用程序,只有在从 Windows 命令提示符调用时才能正常工作。与输入/输出流有关。
所以我可以通过将它作为参数传递给 cmd 从 bash 脚本中调用它。
cmd /c“坏应用”
这很好用——但有时 badapp 会因网络问题而失败——我没有得到任何反馈。无论如何要从 bash 脚本中检查 ERRORLEVEl - 或者在运行 bash 脚本的终端上查看 badapp 的输出?
是的,$?
是包含错误级别的变量。
举个echo $?
例子。
Cygwin bash 的一个示例(我猜您使用的是 Cygwin,因为您cmd
在示例中使用的是 Windows。)
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