Script Argument Parsing dengan getopts
Penjelasan
Untuk script yang menerima opsi bergaya command line tool (mis. `-n Budi -v`, bukan cuma argumen posisi `$1 $2`), Bash menyediakan `getopts` — cara idiomatik membaca flag beserta nilainya (kalau ada) dalam satu loop.
Contoh Konsep
#!/bin/bash
# Dipanggil dengan: ./script.sh -n Budi -v
verbose=false
while getopts "n:v" opt; do
case $opt in
n) nama="$OPTARG" ;; # -n butuh nilai, ditandai titik dua setelah n
v) verbose=true ;; # -v tanpa nilai (flag saja)
*) echo "Opsi tidak dikenal" ;;
esac
done
echo "Nama: $nama"
echo "Verbose: $verbose"
Praktikum
Tulis script dengan getopts yang menerima flag -f untuk nama file (butuh nilai), lalu cetak "Memproses file: <nilai>".
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
`$OPTARG` selalu berisi nilai dari opsi yang baru saja dibaca getopts (kalau opsi itu butuh nilai) — pastikan nama opsi di string pola ("n:v") diikuti titik dua kalau opsi itu wajib punya nilai.