Apa Fungsi "#!/bin/bash" pada Skrip Bash?
Ketika membicarakan dengan pemrograman Bash, kalian pasti sudah tidak asing dengan kode #!/bin/bash
yang biasanya berada di dalam skrip Bash.
Apa arti kode tersebut?
Mari pelajari lebih lanjut dalam artikel berikut.
Apa itu ”#!/bin/bash”?
Nama dari kode #!/bin/bash
adalah Shebang atau lebih tepatnya Bash Shebang.
Penulisan Shebang diawali dengan #!
dan diikuti dengan lokasi path Shell berada, seperti pada #!/bin/bash
.
Shebang adalah cara kita untuk menginstruksikan sistem operasi agar menggunakan jenis interpreter tertentu.
Jadi kesimpulannya, #!/bin/bash
mempunyai fungsi untuk menginstruksikan sistem operasi agar menggunakan Bash sebagai interpreter.
Pentingnya Menggunakan Shebang
Penggunaan Shebang dalam pembuatan skrip Shell amatlah penting, karena di dunia ini ada berbagai jenis Shell yang memiliki syntax dan fitur yang berbeda-beda.
Jadinya, jika kalian tidak menggunakan shebang, akan ada kemungkinan skrip Shell tidak berjalan normal pada Zsh, Fish, dan sebagainya.
Misalnya, skrip Shell berikut akan menghasilkan hasil berbeda di Bash dan Zsh.
fruits=("apple" "watermelon" "dragonfruit" "rambutan")
echo ${fruits[0]}
echo ${fruits[1]}
Hasilnya ketika skrip dijalankan dengan Bash:
$ ./script.sh
apple
watermelon
Hasilnya ketika skrip dijalankan dengan Zsh:
$ ./script.sh
apple
Coba tebak! Apa perbedaan dari kedua hasil di atas?
Pada Bash indeks array dimulai dari 0
sedangkan Zsh indeks array dimulai dari 1
.
Sehingga hasil dari Bash akan menghasilkan apple & watermelon sedangkan hasil dari Zsh akan menghasilkan apple saja.
Hasilnya akan berbeda, jika kalian menambahkan Shebang.
#!/bin/bash
fruits=("apple" "watermelon" "dragonfruit" "rambutan")
echo ${fruits[0]}
echo ${fruits[1]}
Hasilnya:
$ ./script.sh
apple
watermelon
Dari contoh perbedaan di atas saja, dapat disimpulkan, ada kemungkinan program shell tidak berjalan dengan normal ketika dijalankan di shell yang berbeda apabila tidak menggunakan Shebang.
Contoh Penggunaan Shebang yang Lainnya
Penggunaan Shebang tidak terbatas pada pemrograman Shell saja.
Kalian dapat menggunakan Shebang dengan bahasa interpreter lain, seperti python dan node.js.
Misalnya.
#!/usr/bin/python
print('hello world')
Program dapat dieksekusi secara langsung seperti pada perintah berikut:
$ ./hello.py