$ cat test.sh
set -eu
echo "`wc -l < $DNE`"
echo should not get here
$ /bin/bash test.sh
test.sh: line 2: DNE: unbound variable
should not get here
मैं बैश संस्करण 4.1.2 चला रहा हूं। क्या यह सुनिश्चित करने का कोई तरीका है कि सबहेल में अनबाउंड वैरिएबल के ऐसे सभी उपयोग स्क्रिप्ट को प्रत्येक कॉल को संशोधित किए बिना बाहर निकलने के कारण बाहर निकलते हैं?बैश अनबाउंड वैरिएबल सेट-एयू
है। आप इसे स्वीकार करने पर विचार कर सकते हैं। – jww
यह एक सभ्य विकल्प है लेकिन "प्रत्येक कॉल को संशोधित किए बिना" मूल प्रश्न की आवश्यकता को संबोधित नहीं करता है। यदि झंडे वांछित के रूप में किया जाता है, तो यह एक निश्चित स्थिति में प्रत्येक बार एक चर का उपयोग करने के लिए कुछ याद रखने की तुलना में अधिक सेट-एंड-भूल जाता है। – Jason