Panduan Linux

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!

#Bash Script #Linux