Best Practice dalam Menulis Bash Script Profesional
Hey sobat coder! Jika kalian sering bergeliat dengan terminal dan ingin otomatisasi tugas-tugas sehari-hari, Bash script pasti jadi favorit kalian. Tapi nih, menulis Bash script yang “pro” itu gak sekadar bisa echo
atau ls
aja. Ada beberapa best practices biar skrip kalian lebih keren, aman, dan mudah dipahami.
Simak tips-tips berikut ya!
1. Gunakan Shebang dan Komentar
Setiap skrip harus punya “Shebang” di awal file, biar sistem tahu interpreter apa yang digunakan. Biasanya untuk Bash script, tulis aja:
#!/bin/bash
Selain itu, jangan lupa beri komentar buat jelasin fungsi skrip, penulis, atau perubahan terbaru.
# Skrip ini buat nge-backup file penting
# Author: Your Name
2. Set set -e
Dan set -u
Agar skrip exit jika menemui error, tambahkan set -e
di awal. set -u
juga penting biar skrip keluar kalau ada variabel yang belum didefinisikan.
set -euo pipefail
3. Nama Variabel yang Deskriptif
Nama variabel harus jelas dan deskriptif. Pakai UPPER_CASE
untuk variabel global dan lower_case
untuk variabel lokal.
USER_NAME="Ali"
temp_file="/tmp/temp.txt"
4. Quote Variabel untuk Menghindari Bugs
Simpan string dan path dalam quote " "
untuk menghindari error atau ekspansi yang gak diinginkan.
echo "Hello, $USER_NAME!"
5. Validasi Argumen
Jangan langsung asal pakai argumen, selalu validasi dulu jumlah dan tipe data argumen.
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <input_file>"
exit 1
fi
6. Fungsi-fungsi Modular
Pisahkan logika menjadi fungsi-fungsi kecil agar skrip mudah dipahami dan dimodifikasi.
backup_files() {
cp "$1" "/backup/$1.bak"
}
7. Error Handling
Tangani error dengan baik menggunakan trap
atau if
conditions. Misalnya, kirim notifikasi jika backup gagal.
if ! backup_files "$1"; then
echo "Backup gagal!" >&2
exit 1
fi
8. Gunakan [[
Dibanding [
[[
punya fitur lebih keren dibanding [
, seperti pattern matching dan operator lebih banyak.
if [[ $file == *.txt ]]; then
echo "Ini file teks!"
fi
9. Logging
Selalu tambahkan log untuk melacak eksekusi skrip, terutama kalau skrip berjalan di background.
log() {
echo "$(date): $1" >> /var/log/my_script.log
}
10. Gitu aja sih?
Eits, belum! Selalu tes skrip kalian di berbagai skenario agar tidak ada bug tersembunyi. Terutama kalo skrip dipakai di production, mesti extra hati-hati!