【问题标题】:accessing ERRORLEVEL from bash script从 bash 脚本访问 ERRORLEVEL
【发布时间】:2011-10-13 06:12:57
【问题描述】:

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

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

cmd /c "badapp"

这工作正常 - 但有时 badapp 会因网络问题而失败 - 我没有收到任何反馈。无论如何要从 bash 脚本中检查 ERRORLEVEl - 或者在运行 bash 脚本的终端上查看 badapp 的输出?

【问题讨论】:

    标签: bash cmd errorlevel


    【解决方案1】:

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

    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
    

    【讨论】:

    • 对不起,我应该提到我使用的是 cygwin。您确定这会将 Windows ERRORLEVEL 转换为 bash 等效 $?
    • 是的!您为什么不简单地尝试一下并自己确认呢?
    • 谢谢,这似乎确实有效。问题似乎与“badapp”有关 - 当它因网络问题而失败时,它不会始终如一地设置错误级别
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多