3
เครื่องหมายคำพูดเดี่ยวและตัวแปรภายในเชลล์เบิร์น
ฉันมีคำสั่งนี้ที่ฉันพยายามที่จะดำเนินการในเปลือก bourne สำหรับ Solaris 9 find ${DATADIR} -name "check_*" -type f -exec sh -c '$0 | ${PARSEDATA}' {} \; >> ${TMP_1} ปัญหาของฉันคือตัวแปร${PARSEDATA}ทำงานไม่ถูกต้องฉันลองใช้เครื่องหมายคำพูดคู่ล้อมรอบมันแล้วปัญหาคือ$0ชื่อของสคริปต์ที่ใช้รหัสนี้ไม่ใช่ไฟล์ที่ใช้findคำสั่ง ข้อเสนอแนะใด ๆ ในการแก้ปัญหานี้อาจเป็นปัญหาง่ายมีประโยชน์อย่างมาก ขอบคุณล่วงหน้า. อัปเดต: $0เป็นชื่อของสคริปต์ที่ใช้findคำสั่งตัวแปรสำหรับ${PARSEDATA}เป็นตัวกรองอยู่ที่ใดที่หนึ่งในระบบที่ปรับเปลี่ยนเอาต์พุตของสคริปต์ที่พบแต่ละรายการ อย่างไรก็ตามปัญหาคือฉันไม่สามารถรับทั้งสอง$0และ${PARSEDATA}ขยายอย่างถูกต้อง$0ขยายได้ดีโดยใช้อัญประกาศเดียวหรือใช้ double qoutes ${PARSEDATA}ขยายดี แต่จากนั้น$0กลายเป็นชื่อของสคริปต์ต้นฉบับที่รันfindคำสั่งนี้