Shebang

shebang (11/2/44)

(หรือ "shebang line", "bang path") /sh*-bang/ (จาก "sharp" และ "bang") สัญลักษณ์ "#!" ใช้ในยูนิกซ์เพื่อเป็นเครื่องหมายแสดงการเริ่มต้นของสคริปท์ เช่น shell script หรือ perl script

ในยูนิกซ์ ถ้าสองไบต์แรกของไฟล์ที่สามารถ execute ได้เป็น "#!" kernel จะปฏิบัติต่อมัน ในฐานะเป็นสคริปท์มากกว่าเป็นโปรแกรมที่ประกอบด้วยโค้ดภาษาเครื่อง คำที่ตามหลัง "!" ถูกใช้เป็น pathname ของ interpreter (โปรแกรมที่ execute โปรแกรมอื่น ๆ) เช่น ถ้าบรรทัด แรกของไฟล์ที่สามารถ execute ได้เป็น

#!/usr/local/bin/perl

สคริปท์นี้จะเริ่มทำงานเหมือนกับที่คุณพิมพ์ว่า

/usr/bin/perl -w

ในบรรทัดคำสั่ง kernel สมัยใหม่ส่วนใหญ่จะเมินเฉยต่อการเว้นวรรคที่อยู่ระหว่างเครื่องหมาย "!" และ pathname ของ interpreter, kernel สมัยใหม่บางชนิดจำกัดจำนวนของความยาว ของบรรทัดที่มันจะยอมรับได้น้อย (เช่นแค่ 32 ตัวอักษร) ทำให้การใช้ pathname ยาว ๆ และ การกำหนดค่าไม่สามารถทำได้

ข้อมูลจาก Pom infosec.sran.org

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License