"set -e"를 사용하여 오류가 발생했을 때 스크립트를 종료하지만 함수 내에 오류가있는 경우 종료하지 않으려면 함수가 오류를 반환하도록 하시겠습니까?bash : 오류가 발생했을 때 반환 할 함수를 만드는 플래그가 있습니까?
예를 들어:
#!/bin/bash
set -e
func() {
echo 1
# code ...
cause_error
echo This should not print
}
func
if [ $? -ne 0 ]; then
echo I want this print
else
echo This should not print either
fi
이 스크립트의 출력은 다음과 같습니다
$ /tmp/test.sh
1
그러나 나는 그것이 싶습니다 :
1
I want this print
이것이 가능합니까? 아니면 함수 내에서 실행되는 모든 명령의 종료 상태를 테스트해야합니까?
일반적으로'set -e'를 사용하지 마십시오. 당신 자신의 에러 처리를해라. http://mywiki.wooledge.org/BashFAQ/105 – chepner