ใน Bash รุ่น 4.2.47 (1) - ปล่อยเมื่อฉันพยายามที่จะจัดรูปแบบข้อความที่จัดมาจาก HERE-dcoument ดังนี้:
cat <(fmt --width=10 <<FOOBAR
(I want the surrounding parentheses to be part of the HERE-document)
(Even the preceding unbalanced parenthesis should be part of it.
FOOBAR
) # I want this paranthesis to end the process substitution.
ฉันได้รับข้อผิดพลาดต่อไปนี้:
bash: bad substitution: no closing `)' in <(fmt --width=10 <<FOOBAR
(I want the surrounding parentheses to be part of the HERE-document)
(Even the preceding unbalanced parenthesis should be part of it.
FOOBAR
)
นอกจากนี้ฉันไม่ต้องการพูดที่นี่ - เอกสารคือเขียน<'FOOBAR'
เพราะฉันยังต้องการที่จะมีตัวแปรที่ถูกทดแทนภายใน
(Even
ด้วย"(Even"
มันใช้งานได้ \(Even
มันเป็นเหมือนกันสำหรับ ดูเหมือนข้อผิดพลาดในการแยกวิเคราะห์ ทุบตียังอยู่ในบริบทที่มันกำลังมองหาวงเล็บปีกกาในขณะที่ยังอยู่ในบริบทของการอ่านเอกสารที่นี่และบริบททั้งสองขัดแย้งกัน
bash
4.3 โดยบังเอิญ
cat
โทรจริงๆเหรอ? ทำไมไม่ปล่อยไว้ที่การโทรfmt
?