我有一个应用程序,在从Windows命令提示符调用时才能正常工作。这可能与输入/输出流有关。
因此,我可以通过将其作为参数传递给cmd来从bash脚本中调用它。
cmd /c "badapp"
这很好用 - 但是偶尔badapp会出现网络问题 - 而我却没有收到任何反馈。是否有办法从bash脚本中检查ERRORLEVEL - 或查看badapp在运行bash脚本的终端上的输出?
我有一个应用程序,在从Windows命令提示符调用时才能正常工作。这可能与输入/输出流有关。
因此,我可以通过将其作为参数传递给cmd来从bash脚本中调用它。
cmd /c "badapp"
这很好用 - 但是偶尔badapp会出现网络问题 - 而我却没有收到任何反馈。是否有办法从bash脚本中检查ERRORLEVEL - 或查看badapp在运行bash脚本的终端上的输出?
是的,$?
是包含错误级别的变量。
例如尝试 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