추적 bash 스크립트를 실행할 때 "bye!"가 인쇄되지 않습니다. " 더미 함수의 return 문은 bash 스크립트 끝을 초래할 것이며, 왼쪽 스크립트는 생략 할 수 없습니다.함수에서 return 명령문이 bash 스크립트 끝을 초래합니다
#!/bin/bash -ex
dummy() {
if [ $1 -eq 0 ] ; then
return 0
else
return 55
fi
}
dummy 0
echo "when input 0, dummy will return $?"
dummy 50
echo "when input 50, dummy will return $?"
echo "bye!"
출력 : 주위
+ dummy 0
+ '[' 0 -eq 0 ']'
+ return 0
+ echo 'when input 0, dummy will return 0'
when input 0, dummy will return 0
+ dummy 50
+ '[' 50 -eq 0 ']'
+ return 55
gnu bash 매뉴얼에서 -e 옵션을 찾을 수 없습니다. 내가 읽거나 그것에 대해 배울 수있는 참조에 대한 링크가없는 건가요? –
거룩한 괴짜에게 고마워, 이것은 매우 도움이된다 – leon
@Qsp 그것은 bash 매뉴얼에있다. 관련 단락을 보려면 bash 쉘에서 다음을 실행하십시오. man bash | col -b | grep -A3 'OPTIONS'; 남자 bash | col -b | grep -A 2 - '-e * Exit' – holygeek