Ben ilk hatayı bash komut dosyası durdurmakset -e için kullanın .
Komutu &&:
$ 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
$
ile karşılaştırıldığında:
$ 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
$
İlk örnek hala yankılanıyor I'm running!, ancak ikincisi yanmıyor. Neden farklı davranıyorlar?
UPD. Benzer soru: /programming/6930295/set-e-and-short-tests
cdkomuttan sonra durmasını bekliyorum
set -e .