Kem Intensif DevOps · Pelajaran

Pernyataan case dan Pemadanan Corak

Buat percabangan dengan kemas berdasarkan banyak nilai. Pelajari pernyataan case, corak glob, padanan berbilang corak dan sebab ia lebih baik daripada rangkaian if-elif yang panjang.

Pelajaran 4 daripada 413 langkah

Pernyataan case dan Pemadanan Corak ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Mengapa case?

Apabila pemboleh ubah boleh mempunyai banyak nilai, rantaian panjang if/elif/elif menjadi sukar dibaca. Pernyataan case memadankan nilai dengan corak dan jauh lebih mudah dibaca.

Sintaks Asas

Blok case menguji nilai terhadap corak, setiap satunya berakhir dengan ) dan badannya ditamatkan oleh ;;. Seluruh blok berakhir dengan esac.

case "$fruit" in
  apple) echo "red";;
  banana) echo "yellow";;
esac

Kes Lalai

Corak *) sepadan dengan apa-apa sahaja dan bertindak sebagai lalai yang meliputi semua keadaan seperti else.

case "$cmd" in
  start) echo "starting";;
  stop) echo "stopping";;
  *) echo "unknown command";;
esac

Memadankan Berbilang Corak

Gunakan | untuk memadankan beberapa corak dalam satu cabang.

case "$ans" in
  y|Y|yes) echo "Confirmed";;
  n|N|no) echo "Cancelled";;
esac

Corak Glob

Corak menggunakan pemadanan glob shell, bukan ungkapan nalar: * sepadan dengan sebarang rentetan, ? dengan satu aksara dan [...] dengan kelas aksara.

case "$file" in
  *.txt) echo "text file";;
  *.jpg|*.png) echo "image";;
esac

Julat Aksara

Corak kurungan memadankan julat, berguna untuk mengumpulkan nilai mengikut huruf atau digit pertama.

case "$ch" in
  [a-z]) echo "lowercase";;
  [0-9]) echo "digit";;
esac

Menu Ringkas

case amat berguna dalam skrip berasaskan menu, apabila pengguna memilih satu pilihan.

read -p "Choice: " opt
case "$opt" in
  1) backup;;
  2) restore;;
  *) echo "Invalid";;
esac

case berbanding if

Gunakan if untuk syarat Boolean yang kompleks (julat, perbandingan, beberapa pemboleh ubah). Gunakan case apabila membuat percabangan berdasarkan nilai atau corak satu pemboleh ubah.

Memetik Nilai

Letakkan nilai yang diuji ("$var") dalam tanda petikan supaya nilai kosong atau nilai yang mengandungi ruang dikendalikan dengan selamat.

case "$input" in
  "") echo "empty";;
  *) echo "got: $input";;
esac

Terus Menilai dengan ;;&

Bash menyokong ;;& untuk meneruskan pengujian corak seterusnya selepas padanan, sekali gus membolehkan beberapa cabang dicetuskan.

case "$f" in
  *.tar) echo "tar";;&
  *.gz) echo "gzip";;
esac

Penghantaran Argumen

Satu kegunaan dunia sebenar yang biasa: lakukan penghantaran berdasarkan argumen skrip pertama untuk melaksanakan subperintah seperti alat CLI.

case "$1" in
  init) do_init;;
  build) do_build;;
  *) echo "usage: $0 {init|build}";;
esac

Semakan Pantas

Uji pemahaman anda.

Ringkasan

Anda telah mempelajari pernyataan case: padankan nilai dengan corak glob, tamatkan cabang dengan ;;, gabungkan corak dengan |, gunakan *) sebagai lalai dan utamakan case berbanding rantaian if-elif yang panjang untuk penghantaran berdasarkan nilai dan argumen yang kemas.

Percuma untuk bermula

Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “Pernyataan case dan Pemadanan Corak” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Pernyataan case dan Pemadanan Corak”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pernyataan case dan Pemadanan Corak”?

Buat percabangan dengan kemas berdasarkan banyak nilai. Pelajari pernyataan case, corak glob, padanan berbilang corak dan sebab ia lebih baik daripada rangkaian if-elif yang panjang. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Pernyataan case dan Pemadanan Corak” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Binaan Gelung (for, while)
  2. Fungsi dalam Skrip Bash
  3. Argumen dan Pilihan Skrip ($@, $#, getopts)
  4. Pernyataan case dan Pemadanan Corak
← Kembali ke Kem Intensif DevOps