मेरे पास एक बैश शेल स्क्रिप्ट है जो कई कमांड को आमंत्रित करती है। अगर कोई भी कमांड नॉन-जीरो वैल्यू लौटाता है, तो मैं शेल स्क्रिप्ट को अपने आप 1 के रिटर्न वैल्यू से बाहर निकलना चाहूंगा।
क्या प्रत्येक आदेश के परिणाम को स्पष्ट रूप से जांचे बिना यह संभव है?
जैसे
dosomething1
if [[ $? -ne 0 ]]; then
exit 1
fi
dosomething2
if [[ $? -ne 0 ]]; then
exit 1
fi
set -e
, भीset -u
(याset -eu
) करें।-u
मुहावरेदार, बग-छिपने वाले व्यवहार को समाप्त करता है जिसे आप किसी भी गैर-परिवर्तनीय चर तक पहुंच सकते हैं और कोई निदान के साथ उत्पादित खाली मान हो सकता है।