ไม่กี่เดือนที่ผ่านมาฉันสักรอยแยกระเบิดที่แขนของฉันและข้ามช่องว่างเพราะฉันคิดว่ามันดูดีกว่าถ้าไม่มีพวกเขา แต่สำหรับความกลัวของฉันบางครั้ง (ไม่เสมอไป) เมื่อฉันเรียกใช้ในเชลล์มันไม่ได้เริ่มวางระเบิด แต่มันก็แค่ทำให้เกิดข้อผิดพลาดทางไวยากรณ์
bash: syntax error near unexpected token `{:'
เมื่อวานมันเกิดขึ้นเมื่อฉันพยายามเรียกใช้ในBash shell ของเพื่อนแล้วฉันก็เพิ่มช่องว่างและมันก็ใช้งานได้ทันที:(){ :|:& };:
แทนที่จะเป็น:(){:|:&};:
ช่องว่างสำคัญหรือไม่ มีรอยสักข้อผิดพลาดทางไวยากรณ์ที่แขนของฉัน?!
ดูเหมือนว่าจะทำงานในzshเสมอแต่ไม่ใช่ใน Bash
คำถามที่เกี่ยวข้องไม่ได้อธิบายอะไรเกี่ยวกับช่องว่างซึ่งเป็นคำถามของฉันจริงๆ เหตุใดช่องว่างจึงจำเป็นสำหรับ Bash เพื่อให้สามารถแยกวิเคราะห์ได้อย่างถูกต้อง