มันเป็นความเข้าใจของฉันว่า$(...)ไวยากรณ์แทนคำสั่งที่ทันสมัยกว่าเป็นที่ต้องการมากกว่า`ไวยากรณ์แบบเก่าเนื่องจากง่ายต่อการทำรังและหลบหนีจากข้อผิดพลาด
นอกจากนี้ดูเหมือนว่า/bin/shกระสุนสไตล์ส่วนใหญ่ในการสนับสนุนการใช้งานที่ทันสมัย$(…):
- ทุบตี
- เถ้า (และดังนั้น BusyBox, Linux ส่วนใหญ่ที่ฝังตัว)
- ชน
- FreeBSD / bin / sh
และ$(…)ถูกระบุโดย IEEE 1003.1
ดังนั้นฉันมี 2 คำถามที่เกี่ยวข้องมาก:
- มีเหตุผลใดบ้างที่จะใช้ `ในการพัฒนาเชลล์สคริปต์ใหม่เว้นแต่คุณจะรู้ถึงระบบเก่าที่สคริปต์จะต้องทำงาน
- มีเหตุผลใดที่จะไม่สอนนักเรียนโปรแกรม UNIX เพียงเพื่อเขียน
$(...)และอภิปราย`เฉพาะในรูปแบบที่ล้าสมัยที่พวกเขาจะพบถ้าพวกเขากำลังอ่านเชลล์สคริปต์ของผู้พัฒนาคนอื่น (และอาจจำเป็นถ้าพวกเขากำลังทำงานกับระบบเก่าหรือไม่เป็นมาตรฐาน ด้วยเหตุผลบางอย่าง)?
$()- shift + 4,9, shift + 0 - 5 ปุ่มกด;
`...`ไม่มีจุดโดยใช้การเรียนการสอนหรือไม่ มันมีไว้สำหรับการพกพาแบบย้อนหลังด้วย Bourne shell เท่านั้น (เช่น Bourne shell มี^(เหมือน|)) สำหรับการพกพาแบบย้อนหลังด้วย Thomson shell โปรดทราบว่า(t)cshไม่มี$(...)(แต่ก็ไม่มีประเด็นที่ใช้หรือสอนพวกเขามากนัก)