The $
ในตอนต้นของสตริงใน:
echo $'Hello World\nThis is a new line'
ทำให้ escape sequences ถูกตีความ
คู่มืออ้างอิง Bash [พูดว่า]
คำในรูปแบบ 'string' ได้รับการปฏิบัติเป็นพิเศษ คำนี้ขยายออกเป็นสตริงด้วยอักขระเครื่องหมายทับขวาทับกลับแทนที่ตามที่ระบุโดยมาตรฐาน ANSI C ..
..
ผลลัพธ์ที่ขยายเพิ่มเป็นแบบเสนอราคาเดียวราวกับว่าไม่มีเครื่องหมายดอลลาร์อยู่
แต่
echo $"Hello World\nThis is a new line"
แตกต่างอย่างสิ้นเชิง นี้[บทความ]การแปลงสถานที่เฉพาะเจาะจงพูดว่า:
สตริงที่ยกมาสองครั้งนำหน้าด้วยเครื่องหมายดอลลาร์ ('$') จะทำให้สตริงที่จะแปลตามสถานที่ปัจจุบัน หากโลแคลปัจจุบันคือ C หรือ POSIX เครื่องหมายดอลลาร์จะถูกละเว้น หากสตริงถูกแปลและแทนที่การแทนที่จะเป็นการเสนอราคาสองครั้ง
หมายเหตุ: IIRC ทั้งสอง$'string'
และ$"string"
อาจไม่พบการสนับสนุนในเชลล์ที่แตกต่างกัน ไม่เพียง แต่ผู้คนจากหอยอื่น ๆ จะมองพวกเขาด้วยความอยากรู้อยากเห็น แต่พวกเขาก็ยังถกเถียงกันว่าจะหลีกเลี่ยงความสามารถในการพกพาสคริปต์ได้หรือไม่