다음과 같은 루비에서 많은 시스템 호출이 있으며 해당 명령이 실패하면 스크립트가 종료되도록 종료 코드를 동시에 확인하고 싶습니다.
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
항상 true가됩니다