Kernel menginterpretasikan baris yang dimulai dengan #!
dan menggunakannya untuk menjalankan skrip, meneruskan nama skrip; jadi ini akhirnya berjalan
/bin/rm scriptname
yang menghapus skrip. (Sebagai Stéphane Chazelas menunjukkan , scriptname
di sini adalah cukup untuk menemukan script - jika Anda tentukan path relatif atau absolut, yang disahkan pada as-adalah, jika tidak jalan apa pun yang ditemukan di PATH
prepended, termasuk mungkin emptry string jika Anda PATH
mengandung itu dan skrip ada di direktori saat ini. Anda dapat bermain-main dengan skrip gema - #!/bin/echo
- untuk melihat bagaimana ini bekerja.)
Seperti yang ditunjukkan oleh hobbs , ini berarti skrip Anda sebenarnya adalah rm
skrip, bukan bash
skrip - skrip akan dimulai dengan #!/bin/bash
.
Lihat Bagaimana program dijalankan untuk detail tentang bagaimana ini bekerja di Linux; komentar pada artikel itu memberikan detail untuk platform lain. #!
disebut shebang, Anda akan menemukan banyak informasi dengan mencari istilah itu (terima kasih kepada Aaron untuk sarannya). Seperti yang ditunjukkan jlp , Anda juga akan menemukannya disebut sebagai "pound bang" atau "hash bang" ( #
umumnya dikenal sebagai "pound" - di negara-negara yang tidak menggunakan £
- atau "hash", dan !
sebagai "bang") ). Wikipedia memiliki lebih banyak informasi.