ในส่วน 3.1.2.3 ชื่อ Double Quotes คู่มือ Bash พูดว่า:
การใส่อักขระในเครื่องหมายคำพูดคู่ ('"') จะเก็บรักษาค่าตัวอักษรของอักขระทั้งหมดภายในเครื่องหมายคำพูดยกเว้น '$', '`', '\' และเมื่อเปิดใช้งานการขยายประวัติ '!'
ในขณะนี้ฉันกังวลกับคำพูดเดียว ( '
)
เป็นความหมายพิเศษที่อธิบายไว้ในส่วนก่อนหน้าหัวข้อ 3.1.2.2 คือ:
การใส่อักขระในเครื่องหมายคำพูดเดี่ยว (
'
) จะรักษาค่าตามตัวอักษรของอักขระแต่ละตัวภายในเครื่องหมายคำพูด เครื่องหมายคำพูดเดี่ยวอาจไม่เกิดขึ้นระหว่างเครื่องหมายคำพูดเดี่ยวแม้ว่าจะนำหน้าด้วยเครื่องหมายทับขวา
รวมสอง expositions
echo "'$a'"
โดยที่ตัวแปรa
ไม่ได้ถูกกำหนด (ดังนั้น$a
= สตริงว่าง) ควรพิมพ์$a
บนหน้าจอเนื่องจาก''
การมีความหมายพิเศษภายในจะป้องกัน$
จากการตีความพิเศษ แต่จะพิมพ์''
ออกมา ทำไมเป็นเช่นนั้น
’, ‘\’, and, when history expansion is enabled, ‘!’." in the manual. But now reading it again I realized the second character is not single quote, ("'") but tilde ("
") ฉัน' m ขอบคุณสำหรับการตอบสนองอย่างรวดเร็วของคุณขอบคุณ!