我使用set -e
到的第一个错误停止bash脚本。
一切正常,除非我在以下命令中使用命令&&
:
$ 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。类似的问题:https : //stackoverflow.com/questions/6930295/set-e-and-short-tests
cd
命令执行失败后会停止运行
set -e
。