我在ruby中有一堆系統調用,比如下面,我想同時檢查它們的退出代碼,這樣如果該命令失敗,我的腳本將退出。ruby系統命令檢查退出代碼
system("VBoxManage createvm --name test1")
system("ruby test.rb")
我想是這樣
system("VBoxManage createvm --name test1", 0)
< - 其中第二參數檢查退出代碼並確認該系統調用是成功的,如果不是,它會引發錯誤或做某事那種。
這可能嗎?
我已經嘗試了一些沿着這條線,並沒有工作。
system("ruby test.rb")
system("echo $?")
或
`ruby test.rb`
exit_code = `echo $?`
if exit_code != 0
raise 'Exit code is not zero'
end
[使用%×捕捉命令行錯誤]的可能重複(http://stackoverflow.com/questions/4771930/catching-command-line-errors-using-x) –
在上述例如,'exit_code'將是一個字符串 - 無論是「0 \ n」還是\「1 \ n」',所以'exit_code!= 0'將始終爲真 – dgmstuart