มันเป็นความเข้าใจของฉันว่า$(...)
ไวยากรณ์แทนคำสั่งที่ทันสมัยกว่าเป็นที่ต้องการมากกว่า`
ไวยากรณ์แบบเก่าเนื่องจากง่ายต่อการทำรังและหลบหนีจากข้อผิดพลาด
นอกจากนี้ดูเหมือนว่า/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
ไม่มี$(...)
(แต่ก็ไม่มีประเด็นที่ใช้หรือสอนพวกเขามากนัก)