2
การเขียนเชลล์สคริปต์ที่จะทำงานบนเชลล์ใด ๆ (ใช้หลายบรรทัด Shebang?)
ฉันเพิ่งเริ่มเข้าใจเชลล์สคริปต์มากขึ้นและฉันก็แค่โยนสคริปต์ลงในไฟล์ทำเครื่องหมายchmod +xและทำทุกอย่างแล้ว/path/to/script.shให้ล่ามทุกตัวที่เป็นค่าเริ่มต้นมีทางด้วยซึ่งฉันคิดว่าเป็น zsh เพราะนั่นคือสิ่งที่ ฉันใช้เปลือกของฉัน เห็นได้ชัดว่ามันก็ดูเหมือนว่ามันเป็นเพียง/bin/shโดยค่าเริ่มต้นแม้ว่าผมจะรันสคริปต์จาก zsh พรอมต์เพราะผมเริ่มวางสิ่ง zsh zsh /path/to/script.shเฉพาะในสคริปต์ของฉันและมันก็ล้มเหลวถ้าฉันทำงาน เพื่อให้ตรงประเด็นนี่คือคำถามของฉัน: เชลล์ตัวไหนรันสคริปต์เมื่อไม่มีบรรทัด shebang ( #!/path/to/shell) ที่จุดเริ่มต้น? ฉันถือว่า/bin/shแต่ฉันไม่สามารถยืนยันได้ อะไรคือ "แนวทางปฏิบัติที่ดีที่สุด" ในแง่ของการเขียนเชลล์สคริปต์ที่จะทำงานบนแพลตฟอร์มใด ๆ (ตกลงนี่เป็นแบบปลายเปิด) เป็นไปได้ไหมที่จะเขียนสคริปต์ที่พยายามใช้ zsh และกลับไปใช้ทุบตีหาก zsh ไม่พร้อมใช้งาน? ฉันได้ลองใส่ Shebang สองบรรทัดเช่นด้านล่าง แต่มันก็ผิดพลาดbad interpreter: /bin/zsh: no such file or directoryถ้าฉันลองมันบนเครื่องที่ไม่มี zsh #!/bin/zsh #!/bin/bash