상태 코드에 대한 에코?

상태 코드에 대한 에코?

와 같은 도구를 찾고 있지만 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".

관련 정보