Eu tenho um monte de chamadas de sistema em ruby, como a seguir, e quero verificar seus códigos de saída simultaneamente para que meu script saia se o comando falhar.
system("VBoxManage createvm --name test1")
system("ruby test.rb")
Eu quero algo como
system("VBoxManage createvm --name test1", 0)
<- onde o segundo parâmetro verifica o código de saída e confirma que a chamada do sistema foi bem-sucedida e, se não, gerará um erro ou fará algo desse tipo.
Isso é sequer possível?
Tentei algo parecido com isso e também não funcionou.
system("ruby test.rb")
system("echo $?")
ou
`ruby test.rb`
exit_code = `echo $?`
if exit_code != 0
raise 'Exit code is not zero'
end
exit_code
será uma string - "0\n"
ou "1\n"
, então exit_code != 0
sempre será verdadeiro