30
我有一個應用程序,只有在從Windows命令提示符調用時才能正常工作。與輸入/輸出流有關。從bash腳本訪問ERRORLEVEL
所以我可以通過將它作爲參數傳遞給cmd來從bash腳本調用它。
CMD/C 「badapp」
這工作得很好 - 但偶爾badapp失敗併網的問題 - 我沒有得到任何反饋。無論如何檢查bash腳本中的ERRORLEVEl - 或者在運行bash腳本的終端上查看badapp的輸出?
我有一個應用程序,只有在從Windows命令提示符調用時才能正常工作。與輸入/輸出流有關。從bash腳本訪問ERRORLEVEL
所以我可以通過將它作爲參數傳遞給cmd來從bash腳本調用它。
CMD/C 「badapp」
這工作得很好 - 但偶爾badapp失敗併網的問題 - 我沒有得到任何反饋。無論如何檢查bash腳本中的ERRORLEVEl - 或者在運行bash腳本的終端上查看badapp的輸出?
是的,$?
是包含錯誤級別的變量。例如
嘗試echo $?
。
從Cygwin的bash的一個例子(我,因爲你是在你的榜樣使用Windows cmd
猜測你正在使用Cygwin。)
[email protected] /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.
[email protected]/cygdrive/c/Documents and Settings/susam/Desktop
$ if [ $? -eq 0 ]
> then
> echo "good"
> else
> echo "bad"
> fi
bad
抱歉,我用的cygwin我應該提到。你確定這會將Windows ERRORLEVEL轉換成相當於$的bash嗎? – shipshape
是的!你爲什麼不簡單地嘗試一下併爲自己確認? –
感謝這似乎一般工作。這個問題似乎與「badapp」有關 - 當網絡問題失敗時,它不會始終設置錯誤級別 – shipshape