Saya memiliki banyak panggilan sistem dalam ruby seperti berikut dan saya ingin memeriksa kode keluar mereka secara bersamaan sehingga skrip saya keluar jika perintah itu gagal.
system("VBoxManage createvm --name test1")
system("ruby test.rb")
Saya ingin sesuatu seperti
system("VBoxManage createvm --name test1", 0)
<- di mana parameter kedua memeriksa kode keluar dan menegaskan bahwa panggilan sistem berhasil, dan jika tidak, itu akan menimbulkan kesalahan atau melakukan sesuatu semacam itu.
Apakah itu mungkin?
Saya telah mencoba sesuatu di sepanjang garis ini dan itu tidak berhasil juga.
system("ruby test.rb")
system("echo $?")
atau
`ruby test.rb`
exit_code = `echo $?`
if exit_code != 0
raise 'Exit code is not zero'
end
exit_code
akan menjadi string - baik "0\n"
atau "1\n"
, jadi exit_code != 0
akan selalu benar