Jika Anda mempelajari skrip Bash dengan membaca kode orang lain, Anda mungkin memperhatikan bahwa baris pertama skrip dimulai dengan #! karakter dan jalur ke penerjemah Bash.
Urutan karakter ini (#! ) disebut shebang dan digunakan untuk memberi tahu sistem operasi penerjemah mana yang akan digunakan untuk mengurai sisa file.
Petunjuk Penerjemah Shebang #
Arahan penerjemah Shebang mengambil bentuk berikut:
#!interpreter [arguments]
- Direktif harus menjadi baris pertama dalam skrip.
- Direktif harus dimulai dengan shebang
#! - Spasi putih setelah karakter shebang adalah opsional.
- Interpreter adalah path lengkap ke file biner (mis:
/bin/sh,/bin/bash). - Argumen penerjemah bersifat opsional.
Contoh:
#!/bin/bash- Menggunakanbashuntuk mengurai file.#!/usr/bin/env perl- Menggunakanenvperintah untuk menemukan jalur keperldapat dieksekusi.#!/usr/bin/pythonMengeksekusi file menggunakanpythonbiner.
Menggunakan Shebang dalam Skrip Bash #
Jika shebang tidak ditentukan dan pengguna yang menjalankan skrip Bash menggunakan Shell lain, skrip akan diuraikan oleh penerjemah default apa pun yang digunakan oleh Shell itu. Misalnya, penerjemah default untuk bash adalah bash dan untuk zsh adalah sh . Untuk memastikan bahwa skrip Anda akan selalu ditafsirkan dengan Bash, Anda harus menentukan jalur yang dapat dieksekusi menggunakan Shebang.
Ada dua cara untuk menggunakan direktif Shebang dan mengatur interpreter.
-
Menggunakan jalur absolut ke biner bash:
#!/bin/bash -
Menggunakan
envutilitas:#!/usr/bin/env bash
Keuntungan menggunakan pendekatan kedua adalah ia akan mencari bash dapat dieksekusi di $PATH pengguna variabel lingkungan. Jika ada lebih dari satu jalur ke bash , yang pertama akan digunakan oleh skrip.
Saat menggunakan opsi pertama untuk menambahkan opsi ke pasokan shell Bash, berikan itu ke penerjemah. Misalnya, untuk menjalankan skrip dalam mode debug Anda akan menggunakan #!/bin/bash -x .Jika Anda menggunakan env metode maka Anda perlu menggunakan set untuk mendeklarasikan opsi. Untuk mengaktifkan mode debug Anda akan menambahkan set -x setelah garis shebang.
Contoh Skrip #
Mari kita buat skrip sederhana menggunakan shebang yang akan mencetak "Halo, Dunia". Buka editor teks Anda dan rekatkan baris berikut:
nano hello_world hello_world#!/bin/bash
echo "Hello, World"
Untuk dapat menjalankan skrip tanpa menentukan penerjemah dari baris perintah, Anda harus membuat file tersebut dapat dieksekusi:
chmod +x hello_world
Sekarang jika Anda dapat menjalankan skrip dengan mengetik ./ diikuti dengan nama skrip:
./hello_world Hello, World
Mengganti Shebang #
Jika karena alasan tertentu Anda ingin mengganti set interpreter di baris Shebang, Anda perlu menjalankan skrip dengan secara eksplisit menentukan shell yang diinginkan.
Misalnya untuk menjalankan skrip yang memiliki #!/bin/sh ditentukan dalam baris Shebang menggunakan bash shell yang akan Anda ketik:
bash hello_world Harap dicatat, bukanlah ide yang baik untuk mengganti penerjemah shell karena dapat menyebabkan perilaku skrip yang tidak diharapkan.
Kesimpulan #
Sekarang Anda harus memiliki pemahaman yang baik tentang apa itu Shebang dan bagaimana menggunakannya dalam skrip Bash Anda.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.