Ich habe eine Reihe von Systemaufrufen in Ruby wie die folgenden und möchte deren Exit-Codes gleichzeitig überprüfen, damit mein Skript beendet wird, wenn dieser Befehl fehlschlägt.
system("VBoxManage createvm --name test1")
system("ruby test.rb")
Ich möchte so etwas wie
system("VBoxManage createvm --name test1", 0)
<- wobei der zweite Parameter den Exit-Code überprüft und bestätigt, dass dieser Systemaufruf erfolgreich war, und wenn nicht, wird ein Fehler ausgelöst oder etwas in dieser Art ausgeführt.
Ist das überhaupt möglich?
Ich habe etwas in dieser Richtung versucht und das hat auch nicht funktioniert.
system("ruby test.rb")
system("echo $?")
oder
`ruby test.rb`
exit_code = `echo $?`
if exit_code != 0
raise 'Exit code is not zero'
end
exit_code
wird eine Zeichenfolge sein - entweder "0\n"
oder "1\n"
, so exit_code != 0
wird es immer wahr sein