Tôi sử dụng set -e
để dừng tập lệnh bash trên lỗi đầu tiên .
Tất cả đều hoạt động tốt trừ khi tôi sử dụng lệnh với &&
:
$ 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
$
so sánh với:
$ 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
$
Ví dụ đầu tiên vẫn còn vang I'm running!
, nhưng thứ hai thì không. Tại sao họ cư xử khác nhau?
CẬP NHẬT. Câu hỏi tương tự: /programming/6930295/set-e-and-short-tests
cd
lệnh không thành công
set -e
hành vi gây ngạc nhiên.