Jika skrip /path/to/foo
dimulai dengan #!/bin/bash
, maka mengeksekusi /path/to/foo arg1 arg2
sama dengan mengeksekusi /bin/bash /path/too/foo arg1 arg2
. Jika garis shebang adalah #!/bin/bash -ex
, itu setara dengan mengeksekusi /bin/bash -ex /path/too/foo arg1 arg2
. Fitur ini dikelola oleh kernel.
Perhatikan bahwa Anda hanya dapat memiliki satu argumen pada baris shebang: beberapa unit (seperti Linux) hanya menerima satu argumen, sehingga #!/bin/bash -e -x
akan menyebabkan bash menerima argumen lima karakter tunggal -e -x
(kesalahan sintaks) daripada dua argumen -e
dan -x
.
Untuk cangkang Bourne sh
dan cangkang turunan seperti POSIX sh, bash, ksh, dan zsh:
-e
berarti bahwa jika ada perintah gagal (yang ditunjukkan dengan mengembalikan status bukan nol), skrip akan segera berakhir.
-x
menyebabkan shell untuk mencetak jejak eksekusi.
Program lain mungkin memahami opsi ini tetapi dengan makna berbeda.