Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Bash Lanjutan

Pelajaran 3 dari 15

Membaca masukan skrip

Memilih cabang dengan case

Setelah pelajaran ini kamu bisa memilih tindakan berdasarkan pola teks dengan case, termasuk pola alternatif |, pola glob, dan cabang bawaan *).

±13 menitDiperiksa 5 Okt 2026

Materi

case mencocokkan satu kata dengan beberapa pola, dari atas ke bawah. Cabang pertama yang cocok dijalankan sampai tanda ;;, lalu bash melompat ke esac tanpa memeriksa pola sisanya. Polanya adalah pola glob, sama dengan pola nama berkas: * cocok dengan teks apa pun, ? dengan satu karakter, [0-9] dengan satu digit. Tanda | memisahkan beberapa pola untuk satu cabang, dan *) di akhir menjadi cabang bawaan.

case "$1" in
  harian) echo "Rekap harian" ;;
  mingguan|pekanan) echo "Rekap mingguan" ;;
  *) echo "mode tidak dikenal: $1" >&2; exit 2 ;;
esac

Rantai if dan elif dengan [ "$x" = a ] || [ "$x" = b ] bisa melakukan hal yang sama, tetapi case lebih pendek dan bisa mencocokkan pola, misalnya akhiran nama berkas. Karena urutannya menentukan, pola yang lebih khusus ditulis di atas dan *) selalu paling bawah.

for f in masuk/*; do
  case "$f" in
    *.csv) mv "$f" data/ ;;
    *.jpg|*.png) mv "$f" gambar/ ;;
  esac
done

Pemakaian penting lainnya adalah membaca opsi. Perulangan while [ $# -gt 0 ] memeriksa "$1" dengan case: -v menyalakan penanda lalu shift, -o mengambil $2 sebagai nilai lalu shift 2, pola -* menangkap opsi yang tidak dikenal, dan *) memakai break untuk berhenti saat bertemu argumen biasa.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Apa yang dicetak potongan berikut?

f=penjualan.csv
case "$f" in
  *) echo "lainnya" ;;
  *.csv) echo "data" ;;
esac
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi