我想用perl腳本彈出一個警告框。我正在使用exit 0
成功終止shell腳本,並且exit 1
在發生錯誤時終止shell腳本。我想要在perl腳本中捕獲這個退出代碼。取決於值0或1,我想分別彈出一個包含成功或失敗消息的警告框。如何在perl腳本中捕獲shell腳本的退出代碼?
4
A
回答
8
您可以使用子錯誤變量$?
檢查另一個進程的退出代碼。例如:
system("perl foo.pl");
my $exit_val = $? >> 8; # now contains the exit value of the perl script
閱讀documentation更多信息。
6
如果退出0: - shell腳本返回0到perl腳本$?可變
但對於1號出口情況:-IT返回256所以需要由8 移位因此試試這個:
#!/usr/bin/perl
print "pelr";
system("./shell.sh");
$p=$?>>8;
print $p;
注意 - 在shell腳本只是把出口0並運行,然後退出1。並且看到這個O/P
只需要注意,當在perl中使用system時,它會返回退出代碼乘以256.所以,如果一個命令返回1,system(「command」)將返回256。得到真正的回報值,除以256.
相關問題
- 1. 如何在shell腳本中捕獲SQLPlus退出代碼?
- 2. 如何在PowerShell腳本中從cmdlet中捕獲退出代碼
- 3. 如何在Bash腳本中捕獲退出代碼
- 4. 捕獲通過ssh使用shell腳本從父腳本調用的子腳本的退出代碼
- 5. shell腳本退出
- 6. 在shell腳本中捕獲db2輸出
- 7. 如何退出perl腳本中的chroot?
- 8. KSH - 在退出之前捕獲腳本的返回代碼
- 9. 在C++中捕獲shell腳本退出狀態
- 10. 從perl腳本獲取shell腳本
- 11. 退出基於進程的Shell腳本退出代碼
- 12. 如何在perl腳本退出之前運行一段代碼
- 13. 如何忽略perl腳本中shell命令的退出狀態
- 14. 從bash腳本獲取perl腳本的輸出並退出
- 15. 如何獲取由父shell腳本調用的所有shell腳本的單獨退出代碼?
- 16. 從子shell腳本中的函數退出到父shell腳本
- 17. 在shell腳本中處理由python返回的退出代碼
- 18. 如何在調用Perl腳本後退出命令shell?
- 19. 捕獲遠程腳本的退出代碼?
- 20. Bash腳本su退出shell
- 21. 從python退出shell腳本
- 22. 在Unix shell腳本中捕獲spark的返回代碼
- 23. 如何檢查外部shell腳本退出代碼
- 24. Shell腳本退出碼 - 無法設置
- 25. shell腳本中的awk代碼出錯
- 26. 在Unix shell腳本中設置退出代碼
- 27. Bash shell腳本:我如何退出並重新啓動腳本?
- 28. 得到一個shell腳本的退出代碼,在C程序
- 29. 得到python腳本的退出代碼在bash腳本
- 30. 獲取shell腳本的退出碼在一個「陷阱EXIT」
我用你的方法,但它給127.但我我在我的shell腳本中使用0號出口。所以,我需要一個0而不是127. – Rahul
@Rahul:'$?正如鏈接文檔中所解釋的,&127'會給你想要的。 – Zaid
好吧,我得到了。現在我怎麼能彈出perl腳本中的警告框或在perl中使用javascript。 – Rahul