यह बैश काम करता है स्निपेट के रूप में मैं उम्मीद कर लिया जाएगा:"स्थानीय" कमांड का रिटर्न कोड क्यों देता है?
$ fun1() { x=$(false); echo "exit code: $?"; }
$ fun1
exit code: 1
लेकिन इस एक, local
का उपयोग कर, नहीं करता है:
$ fun2() { local x=$(false); echo "exit code: $?"; }
$ fun2
exit code: 0
किसी को भी व्याख्या कर सकते हैं क्यों local
आदेश की वापसी कोड स्वीप करता है ?
https://lists.gnu.org/archive/html/bug-bash/2010-03/msg00007.html – tokland