是否有一組標準的Window Shell腳本(* .bat文件)返回碼?我正在尋找類似於Linux退出代碼的東西,其中0 ==成功和非零==失敗。 我需要一種編程方式來檢查我的shell腳本在執行過程中是否失敗。窗口外殼腳本返回碼
3
A
回答
2
最常見的practive與Unix標準相同,所以0的返回碼(也稱爲批處理文件中的errorlevel)是成功的,而高於0的任何值都是錯誤。
有找,雖然一些相關陷阱的 - 看看這個指南:
1
您可以檢查ERRORLEVEL值。
的IF外殼語句的幫助,告訴我下面的:
IF [NOT] ERRORLEVEL number command
ERRORLEVEL number Specifies a true condition if the last program run
returned an exit code equal to or greater than the number
specified.
2
0爲失敗成功,非0也是Windows批處理命令的慣例。當命令失敗時,它將設置ERRORLEVEL,它是一個可以在批處理文件中測試的特殊變量。
if errorlevel 1 goto failure
只要您不運行其他命令,錯誤級別就會傳遞給運行.bat文件的調用方。
1
通常,Windows實用程序在成功時返回0
,並且像Linux應用程序一樣返回非零錯誤(通過ERRORLEVEL變量)。不幸的是,沒有強制執行的官方「標準」,並不是每個實用程序或腳本都會設置錯誤級別。
如果您有想要測試返回狀態的腳本,請確保腳本使用EXIT /B ##
退出,導致錯誤級別設置爲##
。
0
我更喜歡這種方式:
[run an exe here]
IF %errorlevel% NEQ 0 (
CALL :SSH_fail filename.sh %errorlevel%
)
:SSH_fail
Email.exe "%mailTo%" "%mailProgram% - SSH Failure " "Body: errorlevel:%~2 file name: %~1"
goto cont
這樣,我知道到底是什麼錯誤級別了。我認爲可能會達到250個錯誤級別。
相關問題
- 1. 外殼腳本編碼器
- 2. 外殼腳本端口掃描器
- 3. 外殼腳本啓動1個會話與多個窗口
- 4. 外殼腳本UI
- 5. 文件外殼腳本的編碼
- 6. 訪問Ruby腳本的返回值在外殼
- 7. 返回線在一個外殼腳本中使用NCAT管
- 8. 功能外殼腳本沒有返回數據
- 9. JSch外殼返回到StringArray
- 10. 在一個外殼腳本
- 11. MySQL清理外殼腳本
- 12. 強制外殼腳本flflush
- 13. 帶外殼腳本的RAILS_ROOT
- 14. 使用外殼腳本
- 15. 使用外殼腳本
- 16. 「嘗試」外殼腳本
- 17. 外殼腳本解析
- 18. (?TCL)腳本從外殼
- 19. 簡單的外殼腳本
- 20. 分析外殼腳本
- 21. 比較在外殼腳本
- 22. 經由外殼腳本
- 23. 環路bash外殼腳本
- 24. 差異在外殼腳本
- 25. 從外殼腳本函數
- 26. 外殼腳本:出口TEST1 =「ABC」的作品,但是$(回聲「出口TEST2 =‘ABC’」)不
- 27. Solaris外殼/終端仿真器窗口
- 28. 檢測窗口外殼變化
- 29. 外殼腳本開放瓶驅動的網頁打開兩個窗口
- 30. 如何創建與窗口外殼批處理腳本系統日期目錄