ฉันใช้งานสคริปต์ทดสอบเล็ก ๆ นี้ที่ฉันเขียน:
#!/bin/bash
TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest
จากบรรทัดคำสั่ง:
./test.sh "1092$212"
แต่เครื่องหมายดอลลาร์กำลังถูกถอดออก ถ้าฉันหลบหนีมันใช้งานได้ แต่ฉันคิดว่าเครื่องหมายคำพูดคู่จะป้องกันฉันจากการต้องทำสิ่งนี้ ใครช่วยได้โปรดช่วยฉันเข้าใจว่าเกิดอะไรขึ้นและจะแก้ไขได้อย่างไร
ปัญหาคือมันคลุมเครือแม้สำหรับฉันในฐานะมนุษย์ - สิ่งที่คุณต้องการที่นี่ดังนั้นคอมพิวเตอร์จึงไม่มีโอกาส บางทีล่ามทุบตีพยายามที่จะได้รับ $ 212 Bash จะล้มเหลวอย่างเงียบ ๆ หากคุณพยายามที่จะขยายตัวแปรที่ไม่มีอยู่ดังนั้น $ จะถูกดึงออก พิจารณาห่อตัวแปรของคุณไว้ในวงเล็บเช่น "1092 $ {2} 12"
—
Brian Peterson