當我嘗試運行我的Perl腳本時,它成功執行。後來,當我運行這個命令echo %errorlevel%
,它給了我輸出爲1.爲什麼?爲什麼我成功運行Perl腳本後退出代碼1?
-1
A
回答
5
如果Perl,以ERRORLEVEL 1返回,然後要麼exit(1)
被稱爲
>perl -e"exit 1"
>echo %errorlevel%
1
或$?
在一個END
處理
>perl -e"END { $? = 1; }"
>echo %errorlevel%
1
或程序去世時$!
設置爲1
1
>perl -e"$!=1; die;"
Died at -e line 1.
>echo %errorlevel%
1
(這往往預示一個系統調用失敗,出現「不允許操作」)
>perl -E"say $!=1"
Operation not permitted
或程序去世時$!
是0
和$?
爲(1 << 8)
。
>perl -e"$!=0; $?=1<<8; die;"
Died at -e line 1.
>echo %errorlevel%
1
我想這是可能的perl
與在其他情況下1
退出(如加載perl
本身的問題),但我不知道有任何這樣的情況。
1
要注意的是,您必須立即詢問%ERRORLEVEL%。批處理腳本中的每一步都會設置或混淆錯誤級別,因此如果您希望它保留在周圍,它不會。例如,如果您運行一個腳本,然後運行另一個命令(dir或echo等),然後檢查errolevel,它將用於腳本之後的命令,而不是腳本本身。
相關問題
- 1. 爲什麼'os.system'退出代碼爲1?
- 2. 爲什麼在Perl中退出代碼255而不是-1?
- 3. 如何在perl腳本退出之前運行一段代碼
- 4. 爲什麼我的Perl腳本以137退出?
- 5. 爲什麼即使失敗,我的Perl就地腳本仍然以零退出代碼退出?
- 6. 運行PHP代碼後腳本成功執行
- 7. 從Java執行Perl腳本tomcat返回255退出代碼
- 8. FabActUtil.exe退出代碼爲-1
- 9. 「aspnet_compiler.exe」退出,代碼爲1
- 10. 運行從代碼異常perl腳本
- 11. 運行腳本後SQLPlus退出嗎?
- 12. 爲什麼我的shell腳本在更改用戶後退出?
- 13. 爲什麼我的docker在執行我的shell腳本後退出?
- 14. perl - 爲什麼退出代碼0如果錯誤文件沒有找到,我可以讓它的代碼1?
- 15. 後生成事件退出,代碼爲1
- 16. 生成後事件導致退出代碼爲1
- 17. Perl腳本成功
- 18. 爲什麼我的powershell腳本返回錯誤的退出代碼?
- 19. 爲什麼此代碼在成功後輸出失敗消息?
- 20. 運行「rails生成腳手架」時會運行什麼代碼?
- 21. 如何使用setuid()作爲cgi-bin成功運行Perl腳本?
- 22. 爲什麼Theano代碼無誤地運行成功?
- 23. 如果sendToSocket成功,爲什麼setTimeout def.reject代碼不能運行?
- 24. 爲什麼我的bash腳本執行另一個腳本不能退出?
- 25. 期望腳本 - 退出時運行代碼
- 26. 爲什麼不能退出此代碼?
- 27. 運行Perl腳本1沒有的crontab
- 28. perl system退出代碼36096
- 29. Perl:在perl腳本中運行perl腳本的最快方法是什麼?
- 30. 爲什麼我的bash腳本試圖將註釋作爲代碼運行?
謝謝!!!你的意思是可能有一個退出(1)在Perl代碼?你能更清楚嗎? – pauler 2012-07-20 06:39:42
你指的是最後一段?可能會在'perl'本身調用'exit'。但就像我說的,我不知道任何。 – ikegami 2012-07-20 18:55:13
我發現我的perl腳本中有一個退出代碼。我已經做出了改變,感謝like幫助ikegami – pauler 2012-07-23 06:23:29