स्क्रिप्ट test.sh
नहीं बुलाया:ERR जाल जब केवल पढ़ने के लिए की स्थापना चर
set -euo pipefail
function _trap_ext
{
echo '_trap_ext'
}
function _trap_error
{
echo '_trap_error'
}
trap "_trap_ext" EXIT
trap "_trap_error" ERR
readonly foo='bar'
foo='bar'
echo 'foobar'
आउटपुट:
./test.sh: line 14: foo: readonly variable
_trap_ext
स्क्रिप्ट त्रुटि (-e
विकल्प) की वजह से लाइन 14 पर समाप्त लेकिन _trap_error
कार्य नहीं है बुलाया। क्यों नहीं?
जीएनयू बैश, संस्करण 4.1.2 (1) -release (x86_64-अज्ञात-linux-gnu), 4.2.45 (1) -release (i586-suse-linux-gnu)
FWIW मेरे पास 4.3.33 में यह बग नहीं है, लेकिन मुझे [परिवर्तन लॉग] (http://tiswww.case.edu/php/chet/bash/CHANGES) में कुछ भी दिखाई नहीं देता है जो स्पष्ट रूप से इसके फिक्स को दर्शाता है। – kojiro