據我所知,我們可以使用$?
來獲得我們執行的命令的結果,並且它將返回一個非零的錯誤結果和一個0的結果,前提是程序員保持了慣例。
但是當我們運行perl腳本時呢?
我是新的perl,但我認爲perl腳本返回1
如果他們是一個模塊的一部分,否則他們不會返回任何東西。
那麼我怎麼知道我運行的perl腳本發生了什麼?從bash腳本運行的Perl腳本的狀態
2
A
回答
7
從shell運行Perl腳本的行爲是相同的。 有test.pl
:
#!/usr/bin/env perl
exit(0); # or just exit
運行:
./test.pl && echo "OK" || echo $?
OK
有
#!/usr/bin/env perl
exit(123);
運行:
./test.pl && echo "OK" || echo $?
123
有
#!/usr/bin/env perl
die;
運行:
./test.pl && echo "OK" || echo $?
Died at ./test.pl line 2.
255
所以:
- 從Perl腳本退出0(或沒有)將在外殼
true
。 - 如果退出perl腳本,但其字節值不是0,將在shell中爲
false
,$?
將爲您提供退出值。 - 退出perl腳本與
die
將在shell中false
和$?
將255(在我的情況 - 我檢查了它)。
相關問題
- 1. 從PHP腳本運行bash腳本
- 2. 從R腳本運行bash腳本
- 3. 從Perl腳本運行Python腳本
- 4. 在bash腳本中執行perl腳本
- 5. 運行python腳本的Bash腳本
- 6. 如何從cron運行的Perl腳本中運行shell腳本?
- 7. 從bash腳本運行javascript
- 8. 從java運行bash腳本
- 9. 從JVM運行bash腳本
- 10. 從bash運行Oracle腳本
- 11. 從php運行bash腳本
- 12. bash腳本從rc.local運行
- 13. 在Linux bash腳本中的Perl腳本
- 14. perl腳本中bash腳本的輸出
- 15. 運行Perl腳本
- 16. awk的運行bash腳本
- 17. Bash腳本運行php腳本
- 18. 運行從另一個bash腳本bash腳本不同權限
- 19. 運行shell腳本內的Python腳本 - 檢查狀態
- 20. 從incron運行bash腳本的問題
- 21. 從java運行perl腳本的問題
- 22. 運行Perl腳本從PHP/Apache的
- 23. 如何在bash中檢查python腳本的運行時/狀態?
- 24. 並行運行bash腳本?
- 25. 並行運行bash腳本
- 26. 在我的perl腳本中運行一個非perl腳本?
- 27. 的bash腳本:退出狀態
- 28. Nagios - bash腳本的狀態UNKNOWN
- 29. 運行一個PHP腳本,運行一個運行bash腳本的Python腳本,掛在bash上
- 30. 從bash腳本獲取perl腳本的輸出並退出
試試看看。 – mob