J'ai un tas d'appels système dans ruby tels que les suivants et je veux vérifier leurs codes de sortie simultanément afin que mon script se termine si cette commande échoue.
system("VBoxManage createvm --name test1")
system("ruby test.rb")
Je veux quelque chose comme
system("VBoxManage createvm --name test1", 0)
<- où le deuxième paramètre vérifie le code de sortie et confirme que cet appel système a réussi, et sinon, il déclenchera une erreur ou fera quelque chose de ce genre.
Est-ce possible du tout?
J'ai essayé quelque chose du genre et cela n'a pas fonctionné non plus.
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
sera une chaîne - soit "0\n"
ou "1\n"
, donc exit_code != 0
sera toujours vrai