3
ข้อผิดพลาดที่เป็นไปได้ใน Bash?: foo () {echo“ $ {var [0]}”; }; var = (bar baz) foo
ระบบปฏิบัติการ : Ubuntu 16.04.3 เชลล์ : ทุบตี 4.3.48 ฉันรู้ว่าเป็นไปได้ที่จะเปลี่ยนแปลงเนื้อหาของตัวแปรชั่วคราวในvar=value commandซึ่งอาจIFS= read -r varเป็นกรณีที่น่าสังเกตมากที่สุดของเรื่องนี้ และด้วยวิกิของเกร็กฉันก็เข้าใจเช่นกัน: # Why this foo() { echo "$var"; } var=value foo # And this does work var=value; echo "$var" # But this doesn't var=value echo "$var" สิ่งนี้ทำให้ฉันเข้าใจได้: $ foo() { echo "${var[0]}"; } $ var=(bar baz) foo …