ฉันมีคำสั่งนี้ที่ฉันพยายามที่จะดำเนินการในเปลือก 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
คำสั่งนี้