Introduction to Bash Scripting 06 - A Simple "If" Statement
Isi kandungan:
ifPenyataif..elsePenyataif..elif..elseStatement- Bersarang
ifPernyataan - Syarat Pelbagai
- Pengendali Ujian
- Kesimpulannya
Pengambilan keputusan adalah salah satu konsep yang paling asas dalam pengaturcaraan komputer. Seperti dalam bahasa pengaturcaraan yang lain,
if
,
if..else
,
if..elif..else
dan bersarang
if
penyataan dalam Bash boleh digunakan untuk melaksanakan kod berdasarkan keadaan tertentu.
Dalam tutorial ini, kami akan membimbing anda melalui asas-asas Bash
if
pernyataan dan menunjukkan kepada anda cara menggunakannya dalam skrip shell anda.
if
Penyata
Bash
if
syarat boleh mempunyai bentuk yang berbeza. Pernyataan yang paling mendasar
if
mengambil bentuk berikut:
if TEST-COMMAND then STATEMENTS fi
Kenyataan
if
bermula dengan kata kunci
if
diikuti oleh ungkapan bersyarat dan kata kunci itu. Kenyataan itu berakhir dengan kata kunci
fi
.
Sekiranya
TEST-COMMAND
menilai dengan
True
,
STATEMENTS
akan dilaksanakan. Sekiranya
TEST-COMMAND
mengembalikan
False
, tiada apa yang berlaku,
STATEMENTS
diabaikan.
Umumnya, amalan yang baik selalu untuk indent kod anda dan blok kod berasingan dengan garis kosong. Kebanyakan orang memilih menggunakan lekapan ruang 4 atau ruang 2-ruang. Galakan dan garisan kosong menjadikan kod anda lebih mudah dibaca dan teratur.
Lihat skrip contoh berikut yang memeriksa sama ada nombor yang diberi lebih besar daripada 10.
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." fi
Simpan kod dalam fail dan jalankannya dari baris arahan:
bash test.sh
Skrip akan meminta anda memasukkan nombor. Jika sebagai contoh, anda memasukkan 15, arahan
test
akan dinilai untuk
true
kerana 15 adalah lebih besar daripada 10, dan arahan
echo
di dalam klausa itu akan dilaksanakan.
The variable is greater than 10.
if..else
Penyata
Kenyataan Bash
if..else
mengambil bentuk berikut:
if TEST-COMMAND then STATEMENTS1 else STATEMENTS2 fi
Sekiranya
TEST-COMMAND
menilai dengan
True
,
STATEMENTS1
akan dilaksanakan. Jika tidak, jika
TEST-COMMAND
mengembalikan
False
,
STATEMENTS2
akan dilaksanakan. Anda boleh mempunyai satu
else
klausa dalam pernyataan itu.
Mari tambahkan klausa
else
kepada skrip contoh terdahulu:
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." else echo "The variable is equal or less than 10." fi
if..elif..else
Statement
Kenyataan Bash
if..elif..else
mengambil bentuk berikut:
if TEST-COMMAND1 then STATEMENTS1 elif TEST-COMMAND2 then STATEMENTS2 else STATEMENTS3 fi
Sekiranya
TEST-COMMAND1
menilai kepada
True
,
TEST-COMMAND1
akan dilaksanakan. Sekiranya
TEST-COMMAND2
menilai dengan
True
,
TEST-COMMAND2
akan dilaksanakan. Jika tiada arahan ujian dinilai kepada
True
,
STATEMENTS2
dilaksanakan.
Anda boleh mempunyai satu atau lebih klausa
elif
dalam kenyataan itu. Klausa
else
adalah pilihan.
Keadaan ini dinilai secara berurutan. Sebaik sahaja keadaan kembali
True
keadaan yang masih belum dilaksanakan dan dan kawalan program bergerak ke akhir
if
pernyataan.
Mari tambahkan klausa
elif
ke skrip terdahulu:
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." elif] then echo "The variable is equal to 10." else echo "The variable is less than 10." fi
Bersarang
if
Pernyataan
Bash membolehkan anda sarang
if
pernyataan dalam
if
pernyataan. Anda boleh membuat pelbagai
if
pernyataan dalam kenyataan lain
if
.
Skrip berikut akan meminta anda memasukkan tiga nombor dan akan mencetak nombor terbesar di antara tiga nombor.
#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] then if] then echo "$VAR1 is the largest number." else echo "$VAR3 is the largest number." fi else if] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi fi
Berikut adalah bagaimana output akan kelihatan seperti:
Enter the first number: 4 Enter the second number: 7 Enter the third number: 2 7 is the largest number.
Daripada menggunakan bersarang
if
pernyataan, biasanya lebih berkesan menggunakan pernyataan kes.
Syarat Pelbagai
OR
dan operator logik membolehkan anda menggunakan pelbagai syarat dalam
if
pernyataan.
Berikut adalah versi skrip yang lain untuk mencetak nombor terbesar di antara tiga nombor. Dalam versi ini, bukannya bersarang
if
kenyataan, kami akan menggunakan pengendali logikal
AND
(
&&
).
#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] &&] then echo "$VAR1 is the largest number." elif] &&] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi
Pengendali Ujian
Di Bash, arahan
test
mengambil salah satu daripada bentuk sintaks berikut:
test EXPRESSION]
Untuk menafikan ungkapan ujian menggunakan pengendali
NOT
(
!
) Logis. Apabila membandingkan tali selalu menggunakan sebut harga tunggal atau berganda untuk mengelakkan sebarang masalah pemisahan atau masalah penggiliran.
Di bawah adalah beberapa pengendali yang paling biasa digunakan:
-
-nVAR- Benar jika panjang VAR lebih besar daripada sifar.-zVAR- Benar jika VAR kosong.STRING1 = STRING2- Benar [STRING1 dan STRING2 adalah sama.STRING1 != STRING2- Benar STRING1 dan STRING2 tidak sama.INTEGER1 -eq INTEGER2- Integer INTEGER1 dan INTEGER2 sama.INTEGER1 -gt INTEGER2- Integer INTEGER1 lebih besar daripada INTEGER2.INTEGER1 -lt INTEGER2- Integer INTEGER1 kurang daripada INTEGER2.INTEGER1 -ge INTEGER2-INTEGER1 -ge INTEGER2sejati adalah sama atau lebih besar daripada INTEGER2.INTEGER1 -le INTEGER2- Integer INTEGER1 sama atau kurang daripada INTEGER2.-hFILE- Benar jika FILE wujud dan merupakan pautan simbolik.-rFILE- Benar jika FILE wujud dan boleh dibaca.-wFILE- Benar jika FILE wujud dan boleh ditulis.-xFILE- Benar jika FILE wujud dan boleh laksana.-dFILE- Benar jika FILE ada dan direktori.-eFILE- Benar jika FILE wujud dan merupakan fail, tanpa mengira jenis (nod, direktori, soket, dan lain-lain).-fFILE- Benar jika FILE wujud dan merupakan fail biasa (bukan direktori atau peranti).
Kesimpulannya
if..else
,
if..else
dan
if..elif..else
statements membolehkan anda untuk mengendalikan aliran pelaksanaan skrip Bash dengan menilai kondisi yang diberikan.
Cisco Security Updates Bash Router Squash
Syarikat rangkaian telah mengeluarkan patch IOS dua kali setahun, posting lapan kemas kini
Bagaimana untuk menjalankan Bash pada Ubuntu pada Windows 10
Mengaktifkan Windows Subsystem untuk Linux akan membolehkan anda menjalankan Bash pada Ubuntu pada Windows 10, skrip Bash , Alat-alat baris arahan Linux, alat pertama Linux.
Arahan Bash
Array adalah salah satu daripada struktur data yang paling digunakan dan asas. Dalam artikel ini, kami akan menampung aras Bash, dan menerangkan cara menggunakannya dalam skrip Bash anda.







