Sebagai permulaan, jika Anda dapat membuat asumsi bahwa Bash sudah diinstal sebelumnya (yang, setahu saya adalah kasus pada semua sistem yang Anda daftarkan), gunakan hashbang berikut agar kompatibel:
#!/usr/bin/env bash
ini memanggil apa pun yang bash
terjadi untuk dikonfigurasi, tidak peduli apakah itu dalam /bin
atau /usr/local/bin
.
Sementara pada kebanyakan sistem di berbagai (termasuk AIX, Solaris, beberapa rasa BSD), bash
berakhir di lokasi yang berbeda, env
selalu berakhir pada /usr/bin/env
. Triknya, bagaimanapun, bukan milikku tetapi dari penulis Bash Cookbook.
Bagaimanapun, ya Bash akan memungkinkan Anda untuk menggunakan beberapa fitur "modern" yang membuat hidup Anda lebih mudah.
Misalnya tanda kurung ganda:
[[ -f "/etc/debian_version" ]] && echo "This is a Debian flavor"
sedangkan dalam dialek shell tradisional Anda harus menggunakan:
test -f "/etc/debian_version" && echo "This is a Debian flavor"
tetapi yang terbaik tentang tanda kurung ganda adalah mereka memungkinkan ekspresi reguler untuk dicocokkan. The Bash Hacker Wiki akan memberikan banyak trik arah itu.
Anda juga dapat menggunakan ekspresi yang cukup nyaman seperti $((2**10))
atau ekspresi aritmatika lainnya sesuai dengan $((expression))
sintaks.
Menggunakan backticks untuk subkulit baik-baik saja, meskipun agak ketinggalan jaman. Tetapi kemampuan bersarang dalam $(command ...)
doa jauh lebih nyaman karena Anda tidak perlu melarikan diri dari banyak hal pada tingkat subkulit yang berbeda.
Ini hanyalah beberapa hal yang Bash berikan kepada Anda atas sh
sintaks POSIX umum yang umum .
Tetapi jika Anda ingin lebih banyak kekuatan pada shell (tidak hanya dalam skrip), lihat juga zsh
.
/bin
dan/usr/bin
. Akibatnya, mungkin lebih baik digunakan#!/usr/bin/env <shname>
untuk portabilitas akhir-akhir ini.