와 같은 도구를 찾고 있지만 echo
상태 코드는
$ sts 120
$ echo $?
120
Bash와 같은 환경에서 하위 쉘을 사용할 수 있다는 것을 알고 있습니다.
$ (exit 120)
$ echo $?
120
하지만 쉘과 독립적으로 이를 수행할 수 있는 방법이 있습니까?
답변1
매개변수가 전달되었는지 확인하고 그렇지 않으면 를 반환하는 매우 간단한 스크립트를 수행할 수 있습니다 0
.
#!/bin/bash
if [ $# -eq 1 ]; then
# There's no parameter
exit 0
else
exit $1
fi
실행 권한( )을 부여합니다 chmod +x returnscript.sh
. 다른 스크립트 내에서 스크립트를 호출하는 방법:
방법 1:
/path/to/returnscript.sh 100
retcode=$?
# retcode = 100
웨이 2:
/path/to/returnscript.sh
retcode=$?
# retcode = 0
답변2
질문을 이해했는지 잘 모르겠습니다. 쉘에 내장된 기능을 사용하지 않고 명령줄에서 종료 상태를 지정할 수 있는 명령을 찾고 있는 것 같습니다. 왜? (exit 120)
작동하지 않는 쉘이 있습니까 ?
다음은 몇 가지 가능성입니다.
awk 'BEGIN {exit 120}'
echo | sed 'q120'
sh -c "exit 120"
- 이를 수행하는 스크립트를 직접 작성하십시오
exit "$1"
.