Saya sarankan menggunakan:
#!/bin/bash
Ini bukan 100% portabel (beberapa sistem menempatkan bash
di lokasi selain /bin
), tetapi kenyataan bahwa banyak skrip yang ada menggunakan #!/bin/bash
tekanan berbagai sistem operasi untuk membuat /bin/bash
setidaknya symlink ke lokasi utama.
Alternatif dari:
#!/usr/bin/env bash
telah disarankan - tetapi tidak ada jaminan bahwa env
perintah ada di /usr/bin
(dan saya telah menggunakan sistem di mana tidak) Selain itu, formulir ini akan menggunakan contoh pertama bash
di pengguna saat ini $PATH
, yang mungkin bukan versi yang sesuai dari bash shell.
(Tetapi /usr/bin/env
harus bekerja pada sistem modern yang masuk akal, baik karena env
di dalam /usr/bin
atau karena sistem melakukan sesuatu untuk membuatnya bekerja. Sistem yang saya sebutkan di atas adalah SunOS 4, yang mungkin belum saya gunakan dalam sekitar 25 tahun.)
Jika Anda memerlukan skrip untuk dijalankan pada sistem yang tidak memiliki /bin/bash
skrip, Anda dapat memodifikasi skrip untuk menunjuk ke lokasi yang benar (itu memang tidak nyaman).
Saya telah membahas pengorbanan secara lebih mendalam dalam jawaban saya untuk pertanyaan ini .
Pembaruan yang agak kabur: Satu sistem yang saya gunakan, Termux , lapisan desktop-Linux-like yang berjalan di bawah Android, tidak memiliki /bin/bash
( bash
tetapi /data/data/com.termux/files/usr/bin/bash
) - tetapi ia memiliki penanganan khusus untuk didukung #!/bin/bash
.
/usr/local/bin/bash
di OpenBSD.