첫 번째 오류에서 bash 스크립트set -e
를 중지 하는 데 사용 합니다 .
다음과 함께 명령을 사용하지 않으면 모두 정상적으로 작동합니다 &&
.
$ cat script
set -e
cd not_existing_dir && echo 123
echo "I'm running! =P"
$
$ ./script
./script: line 2: cd: not_existing_dir: No such file or directory
I'm running! =P
$
와 비교 :
$ cat script
set -e
cd not_existing_dir
echo "I'm running! =P"
$
$ ./script
./script: line 2: cd: not_existing_dir: No such file or directory
$
첫 번째 예제는 여전히 에코 I'm running!
하지만 두 번째 예제는 에코 하지 않습니다. 왜 다르게 행동합니까?
UPD. 비슷한 질문 : /programming/6930295/set-e-and-short-tests
cd
명령 후에 스크립트가 멈출 것으로 예상한다
set -e
.