아래 예제와 비슷한 것을 수행하는 표준 Unix 명령이 있습니까?
$ <cmd here> 56
$ echo Return code was $?
Return code was 56
$
<cmd here>
포크로 실행될 수 있고 프로세스가 종료 될 때 종료 코드로 56을 남겨 둘 수 있어야합니다. exit
와 return
쉘 내장 명령은 내가 그것을 밖으로 종료에 의해 그들이 호출 쉘 자체에 영향을주기 때문에 무엇을 찾고 있어요에 부적합하다. <some cmd>
쉘이 아닌 컨텍스트에서 실행할 수있는 것이어야합니다 (예 :을 사용하여 Python 스크립트에서 호출) subprocess
.
예를 들어 /usr/bin/false
항상 반환 코드 1을 사용하여 즉시 종료되지만 해당 반환 코드가 무엇인지 정확하게 제어하고 싶습니다. 자체 래퍼 스크립트를 작성하여 동일한 결과를 얻을 수 있습니다
$ cat my-wrapper-script.sh # i.e., <some cmd> = ./my-wrapper-script.sh
#!/usr/bin/bash
exit $1
$ ./my-wrapper-script.sh 56
$ echo $?
56
하지만이 작업을 수행 할 수있는 표준 Unix 명령이 있기를 바랍니다.
(exit 56)
?
true
와 false
당신이 0 또는 1을 반환해야하는 경우 빌트인
exit
내가 유일하게 생각할 수는 있지만 껍질을 끝내는 경향이 있습니다.bash -c 'exit 56'
또는bash -c "exit $1"
당신을 위해 일할 수도 있습니다.