मैं पहली त्रुटि पर बैश स्क्रिप्ट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!
, लेकिन दूसरा नहीं है। वे अलग व्यवहार क्यों करते हैं?
युपीडी। इसी तरह के सवाल: /programming/6930295/set-e-and-short-tests
cd
आदेश
set -e
व्यवहार आश्चर्यजनक है।