Penguasaan Baris Perintah Linux · Pelajaran

Pernyataan Bersyarat: `if`, `else`, `case`

Laksanakan logik membuat keputusan dalam skrip anda menggunakan pelbagai binaan bersyarat.

Pelajaran 2 daripada 411 langkah

Pernyataan Bersyarat: `if`, `else`, `case` ialah pelajaran Penguasaan Baris Perintah Linux percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Penguasaan Baris Perintah Linux, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Penguasaan Baris Perintah Linux merangkumi sejumlah 4 pelajaran.

Membuat Keputusan dalam Skrip

Dalam penskripan shell, sama seperti dalam kehidupan, anda sering perlu membuat keputusan. Pernyataan bersyarat membolehkan skrip anda melaksanakan perintah yang berbeza berdasarkan sama ada syarat tertentu benar atau palsu.

Ini penting untuk menghasilkan skrip yang fleksibel dan berkuasa, yang boleh menyesuaikan diri dengan situasi atau input pengguna yang berbeza.

Pernyataan Asas `if`

Syarat paling mudah ialah pernyataan if. Pernyataan ini menyemak suatu syarat, dan jika syarat itu benar, ia melaksanakan sekumpulan perintah. Jika palsu, perintah tersebut dilangkau.

Sintaks asasnya kelihatan seperti ini:

  • if [ condition ]; then
  • # commands to run if true
  • fi

Ingat fi untuk menutup blok if!

Contoh `if` Mudah

Mari lihat pernyataan if mudah digunakan. Skrip ini menyemak sama ada pemboleh ubah num lebih besar daripada 5.

Cuba ubah nilai num untuk melihat perubahan pada output!

#!/bin/bash

num=7

if [ "$num" -gt 5 ]; then
  echo "Number is greater than 5."
fi

num=3

if [ "$num" -gt 5 ]; then
  echo "Number is greater than 5. (This won't print)"
fi

`if-else`: Dua Laluan

Bagaimana jika anda mahu melaksanakan satu set perintah apabila syarat benar, dan set yang berbeza apabila syarat itu palsu? Di sinilah else digunakan.

Pernyataan if-else menyediakan dua laluan berbeza untuk skrip anda:

  • if [ condition ]; then
  • # commands if condition is true
  • else
  • # commands if condition is false
  • fi

Menggunakan `if-else`

Skrip ini menggunakan if-else untuk menentukan sama ada suatu nombor genap atau ganjil. Kami menggunakan penilaian aritmetik (( )) supaya perbandingan dan pengiraan nombor lebih jelas.

Operator % memberikan baki bagi suatu pembahagian. Jika num % 2 ialah 0, nombor itu genap!

#!/bin/bash

num=4

if (( num % 2 == 0 )); then
  echo "$num is an even number."
else
  echo "$num is an odd number."
fi

num=9

if (( num % 2 == 0 )); then
  echo "$num is an even number. (This won't print)"
else
  echo "$num is an odd number."
fi

`elif`: Pelbagai Syarat

Kadang-kadang terdapat lebih daripada dua kemungkinan hasil. Untuk situasi ini, anda boleh menggunakan elif (singkatan bagi "else if") untuk menyemak berbilang syarat secara berturutan.

Skrip menyemak syarat satu demi satu. Perintah bagi syarat pertama yang benar akan dilaksanakan, manakala yang lain dilangkau.

  • if [ cond1 ]; then ...
  • elif [ cond2 ]; then ...
  • else ...
  • fi

Rantaian `elif`

Berikut ialah contoh yang menggunakan if-elif-else untuk memberikan gred huruf berdasarkan skor. Perhatikan bahawa syarat disemak daripada skor tertinggi hingga terendah.

Jika skor ialah 95, syarat if pertama (>= 90) dipenuhi, lalu "A" dicetak. Blok elif dan else yang lain kemudiannya diabaikan.

#!/bin/bash

score=85

if [ "$score" -ge 90 ]; then
  echo "Grade: A"
elif [ "$score" -ge 80 ]; then
  echo "Grade: B"
elif [ "$score" -ge 70 ]; then
  echo "Grade: C"
else
  echo "Grade: F"
fi

`case`: Pemilihan Mudah

Apabila anda mempunyai satu pemboleh ubah atau ungkapan yang boleh mempunyai banyak nilai, dan mahu melakukan tindakan yang berbeza bagi setiap nilai, pernyataan case biasanya lebih kemas berbanding rantaian if-elif-else yang panjang.

Ia amat berguna untuk skrip berasaskan menu atau untuk mengendalikan pilihan input tertentu.

  • case $variable in
  • pattern1) commands ;;
  • pattern2) commands ;;
  • *) default commands ;;
  • esac

Menggunakan Pernyataan `case`

Skrip ini menunjukkan cara menggunakan case untuk memberikan respons kepada tindakan pengguna yang berbeza (mula, berhenti, mulakan semula). Corak *) bertindak sebagai nilai lalai dan menangkap sebarang nilai yang tidak sepadan.

Setiap blok perintah berakhir dengan ;;, yang penting supaya pernyataan case berfungsi dengan betul.

#!/bin/bash

action="start"

case "$action" in
  "start")
    echo "Starting service..."
    ;;
  "stop")
    echo "Stopping service..."
    ;;
  "restart")
    echo "Restarting service..."
    ;;
  *) # Default case for anything else
    echo "Invalid action: $action"
    ;;
esac

action="status"

case "$action" in
  "start") echo "Starting service..." ;;
  "stop") echo "Stopping service..." ;;
  "restart") echo "Restarting service..." ;;
  *) echo "Invalid action: $action" ;;

esac

Cabaran Bersyarat

Baca skrip di bawah dengan teliti. Apakah output apabila skrip ini dijalankan?

#!/bin/bash

color="blue"

if [ "$color" == "red" ]; then
  echo "It's a primary color."
elif [ "$color" == "yellow" ]; then
  echo "It's another primary color."
elif [ "$color" == "blue" ]; then
  echo "Yes, blue is primary!"
else
  echo "Unknown color."
fi

Membuat Keputusan dengan Mudah

Syabas! Anda telah mempelajari cara asas untuk menambahkan logik membuat keputusan pada skrip shell anda.

  • if: Melaksanakan perintah jika suatu syarat benar.
  • if-else: Menyediakan dua laluan, satu untuk keadaan benar dan satu untuk keadaan palsu.
  • elif: Membolehkan rantaian berbilang syarat untuk logik yang lebih kompleks.
  • case: Cara yang kemas untuk mengendalikan berbilang pilihan berdasarkan satu nilai.

Binaan ini penting untuk menulis skrip yang boleh memberikan respons secara dinamik kepada input dan situasi yang berbeza.

Percuma untuk bermula

Pelajari Penguasaan Baris Perintah Linux 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
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Pernyataan Bersyarat: `if`, `else`, `case`” percuma?

Ya — teks penuh “Pernyataan Bersyarat: `if`, `else`, `case`” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Penguasaan Baris Perintah Linux, tingkat taraf kepada CoddyKit PRO. Kursus Penguasaan Baris Perintah Linux merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pernyataan Bersyarat: `if`, `else`, `case`”?

Laksanakan logik membuat keputusan dalam skrip anda menggunakan pelbagai binaan bersyarat. Anda berlatih Penguasaan Baris Perintah Linux 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 Penguasaan Baris Perintah Linux?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Penguasaan Baris Perintah Linux 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 2 daripada 4.

Berapa lamakah pelajaran “Pernyataan Bersyarat: `if`, `else`, `case`” 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 Penguasaan Baris Perintah Linux ini?

Ya. Setiap pelajaran Penguasaan Baris Perintah Linux 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. Pemboleh Ubah, Input dan Output
  2. Pernyataan Bersyarat: `if`, `else`, `case`
  3. Gelung: `for`, `while`, `until`
  4. Fungsi dan Argumen dalam Skrip Shell
← Kembali ke Penguasaan Baris Perintah Linux