ฉันมีการเรียกระบบจำนวนมากในทับทิมดังต่อไปนี้และฉันต้องการตรวจสอบรหัสออกพร้อมกันเพื่อให้สคริปต์ของฉันออกหากคำสั่งนั้นล้มเหลว
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
exit_code
จะเป็นสตริง - อย่างใดอย่างหนึ่ง"0\n"
หรือ"1\n"
ดังนั้นexit_code != 0
จะเป็นจริงเสมอ