- Penggunaan Pernyataan “Jika”.
- Penggunaan Pernyataan “If-Else”.
- Penggunaan Pernyataan “If-Elif-Else”.
- Penggunaan Pernyataan 'Jika' untuk Menyemak Pembolehubah Kosong
- Penggunaan Pernyataan 'Jika' dengan Operator Logik
- Penggunaan Penyata 'Jika' Bersarang
- Penggunaan Pernyataan 'Jika' untuk Menyemak Kewujudan Fail
- Penggunaan Pernyataan 'Jika' untuk Menyemak Kewujudan Direktori
- Penggunaan Pernyataan 'Jika' dengan Regex
- Penggunaan Pernyataan 'Kes'.
Penggunaan Pernyataan “Jika”.
Contoh ini menunjukkan penggunaan ringkas pernyataan 'jika' dalam Bash. Enam jenis operator perbandingan boleh digunakan untuk membandingkan nilai angka dalam Bash. Ini ialah '-eq' (sama), '-ne' (tidak sama), '-le' (kurang daripada sama), '-ge' (lebih besar daripada sama), '-lt' (kurang daripada), dan ' -gt” (lebih besar daripada). Penggunaan '-lt' dan '-eq' ditunjukkan dalam skrip berikut sama ada nombornya kurang daripada 99 atau belum disemak menggunakan operator '-lt'. Nombor itu genap atau ganjil dan disemak oleh pengendali '-eq'.
#!/bin/bash
#Tetapkan nilai berangka
( ( nombor = lima puluh ) )
#Semak nilai berangka menggunakan pernyataan 'jika'
jika [ $nombor -lt 99 ]
kemudian
bergema 'Nombor adalah sah.'
jadilah
#Semak sama ada nombor itu genap atau tidak
jika [ $ ( ( $nombor % 2 ) ) -persamaan 0 ]
kemudian
bergema 'Nombor genap.'
jadilah
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip sebelumnya:
Penggunaan Pernyataan “If-Else”.
Penggunaan pernyataan “if-else” ditunjukkan dalam skrip berikut. Nilai rentetan diambil daripada pengguna dan menyemak sama ada nilai itu 'BIRU' atau tidak menggunakan pernyataan 'jika-lain'.
#!/bin/bash
#Ambil nilai rentetan daripada pengguna
membaca -hlm 'Masukkan warna kegemaran anda:' warna
#Semak nilai rentetan menggunakan pernyataan 'if-else'
jika [ ${warna^^} == 'BIRU' ]
kemudian
bergema 'Baik, warna Biru ada.'
lain
bergema ' $warna tidak boleh didapati.'
jadilah
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip sebelumnya jika 'merah' diambil sebagai input:
Output berikut muncul selepas melaksanakan skrip sebelumnya jika 'biru' diambil sebagai input:
Penggunaan Pernyataan “If-Elif-Else”.
Penggunaan pernyataan 'if-elif-else' ditunjukkan dalam skrip berikut. Nombor diambil daripada pengguna dan disemak dengan nilai yang berbeza sehingga sebarang padanan ditemui. Jika mana-mana padanan ditemui, mesej yang sepadan akan dicetak. Jika tiada padanan ditemui, mesej lalai akan dicetak.
#!/bin/bash#Ambil nilai id daripada pengguna
membaca -hlm 'Masukkan nombor siri anda:' bersiri
#Semak nilai input menggunakan pernyataan 'if-elif-else'
jika [ $siri == '4523' ]
kemudian
bergema 'Anda dipilih dalam kumpulan A.'
Elif [ $siri == '8723' ]
kemudian
bergema 'Anda dipilih dalam kumpulan B.'
Elif [ $siri == '3412' ]
kemudian
bergema 'Anda dipilih dalam kumpulan C.'
lain
bergema 'Anda tidak terpilih' .
jadilah
Pengeluaran:
Output berikut muncul selepas melaksanakan skrip dengan nilai 8723:
Output berikut muncul selepas melaksanakan skrip dengan nilai 9078:
Penggunaan Pernyataan 'Jika' untuk Menyemak Pembolehubah Kosong
Kaedah menyemak sama ada pembolehubah kosong tidak menggunakan pernyataan 'jika' ditunjukkan dalam skrip berikut. Pilihan '-z' digunakan dalam pernyataan 'jika' untuk melakukan tugas ini.
#!/bin/bash#Ambil nilai id daripada pengguna
membaca -hlm 'Masukkan nombor siri anda:' bersiri
#Semak sama ada pembolehubah kosong atau tidak
jika [ ! -Dengan $siri ]
kemudian
#Semak nilai input menggunakan pernyataan 'if-elif-else'
jika [ $siri == '690' ]
kemudian
bergema 'Anda dipilih dalam pasukan-1.'
Elif [ $siri == '450' ]
kemudian
bergema 'Anda dipilih dalam pasukan-2.'
lain
bergema 'Anda tidak terpilih' .
jadilah
lain
bergema 'Tiada nombor siri diberikan.'
jadilah
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip dengan nilai 690:
Output berikut muncul selepas melaksanakan skrip jika tiada nilai input diambil:
Penggunaan Pernyataan 'Jika' dengan Operator Logik
Tiga jenis operator logik boleh digunakan dalam pernyataan bersyarat Bash. Ini adalah logik ATAU (||), logik DAN (&&), dan logik NOT (!). Nilai kod diambil daripada pengguna. Jika nilai input bukan kosong, nilai itu disemak dengan dua nilai kod menggunakan logik ATAU. Jika nilai sepadan dengan mana-mana kod, mesej yang sepadan akan dicetak. Jika tiada kod sepadan ditemui, mesej lalai akan dicetak.
#!/bin/bash#Ambil kod kursus daripada pengguna
membaca -hlm 'Masukkan kod kursus:' kod
#Semak sama ada pembolehubah kosong atau tidak
jika [ ! -Dengan $kod ]
kemudian
#Semak nilai input menggunakan pernyataan 'if-elif-else'
jika [ [ $kod == 'CSE-106' || $kod == 'CSE-108' ] ]
kemudian
bergema 'Kursus CSE.'
Elif [ [ $kod == 'BBA-203' || $kod == 'BBA-202' ] ]
kemudian
bergema 'Kursus BBA.'
lain
bergema 'Kod kursus tidak sah.'
jadilah
lain
bergema 'Tiada kod kursus diberikan.'
jadilah
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip dengan nilai input 'CSE-108':
Output berikut muncul selepas melaksanakan skrip dengan nilai input 'BBA-56':
Penggunaan Pernyataan 'Jika' Bersarang
Apabila keadaan 'jika' digunakan dalam keadaan 'jika' yang lain, ia dipanggil pernyataan 'jika' bersarang. Kaedah menggunakan 'jika' bersarang ditunjukkan dalam skrip berikut. Dua nilai markah diambil daripada pengguna. Jika nilai input tidak kosong, syarat 'jika' pertama menyemak sama ada nilai '$theory' lebih besar daripada atau sama dengan 60 atau tidak. Jika keadaan 'jika' pertama mengembalikan 'benar', syarat 'jika' kedua menyemak sama ada nilai '$lab' lebih besar daripada atau sama dengan 50 atau tidak. Jika syarat 'jika' kedua juga mengembalikan 'benar', mesej kejayaan dicetak. Jika tidak, mesej kegagalan dicetak.
#!/bin/bash#Ambil tanda teori
membaca -hlm 'Masukkan tanda teori:' teori
#Ambil tanda makmal
membaca -hlm 'Masukkan tanda makmal:' makmal
#Semak sama ada pembolehubah kosong atau tidak
jika [ [ ! -Dengan $teori && ! -Dengan $lab ] ]
kemudian
#Semak nilai input menggunakan pernyataan 'jika' bersarang
jika [ $teori -ge 60 ]
kemudian
jika [ $lab -ge lima puluh ]
kemudian
bergema 'Awak dah lulus.'
lain
bergema 'Anda telah gagal.'
jadilah
lain
bergema 'Anda telah gagal.'
jadilah
lain
bergema 'Teori atau tanda makmal kosong.'
jadilah
Pengeluaran :
Output berikut muncul jika kedua-dua atau satu daripada nilai input kosong:
Output berikut muncul jika 78 diambil sebagai markah teori dan 45 diambil sebagai markah makmal. Di sini, keadaan 'jika' kedua mengembalikan 'salah':
Output berikut muncul jika 67 diambil sebagai markah teori dan 56 diambil sebagai markah makmal. Di sini, kedua-dua syarat 'jika' mengembalikan 'benar':
Output berikut muncul jika 50 diambil sebagai markah teori dan 80 diambil sebagai markah makmal. Di sini, syarat 'jika' pertama mengembalikan 'salah':
Penggunaan Pernyataan 'Jika' untuk Menyemak Kewujudan Fail
Kewujudan fail boleh disemak oleh skrip bash dalam dua cara. Seseorang menggunakan operator '-f' dengan kurungan '[]'. Satu lagi menggunakan arahan 'ujian' dan pengendali '-f'. Nama fail diambil dan menyemak kewujudan fail menggunakan syarat 'jika' dengan pengendali '-f'. Kemudian, nama fail lain diambil dan semak kewujudan fail menggunakan pernyataan 'jika' dengan arahan 'ujian' dan pengendali '-f'.
#!/bin/bash#Ambil nama fail
membaca -hlm 'Masukkan nama fail:' fn1
#Semak sama ada fail itu wujud atau tidak tanpa menggunakan `ujian`
jika [ -f $fn1 ]
kemudian
bergema ' $fn1 fail wujud.'
lain
bergema ' $fn1 fail tidak wujud.'
jadilah
#Tambah baris baharu
bergema
#Ambil nama fail lain
membaca -hlm 'Masukkan nama fail lain:' fn2
#Semak sama ada fail itu wujud atau tidak menggunakan `test`
jika ujian -f $fn2 ; kemudian
bergema ' $fn2 fail wujud.'
#Semak sama ada fail kosong atau tidak menggunakan `ujian`
jika ujian -Dengan $fn2 ; kemudian
bergema ' $fn2 fail kosong.'
lain
bergema ' $fn2 fail tidak kosong.'
jadilah
lain
bergema ' $fn2 fail tidak wujud.'
jadilah
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip dengan mengambil 'test.txt' dan 'testing.txt' sebagai nama fail. Mengikut output, kedua-dua fail wujud di lokasi semasa dan fail 'testing.txt' kosong:
Output berikut muncul selepas melaksanakan skrip dengan mengambil 'f1.txt' dan 'test.txt' sebagai nama fail. Mengikut output, fail 'f1.txt' tidak wujud di lokasi semasa dan fail 'test.txt' tidak kosong:
Penggunaan Pernyataan 'Jika' untuk Menyemak Kewujudan Direktori
Kewujudan direktori boleh disemak oleh skrip Bash dalam dua cara seperti fail. Seseorang menggunakan operator '-d' dengan kurungan '[]'. Satu lagi menggunakan arahan 'ujian' dan pengendali '-d'. Nama direktori diambil dan menyemak kewujudan direktori menggunakan syarat 'jika' dengan pengendali '-d'. Kemudian, nama direktori lain diambil dan menyemak kewujudan fail menggunakan pernyataan 'jika' dengan arahan 'ujian' dan pengendali '-d'.
#!/bin/bash#Ambil nama direktori
membaca -hlm 'Masukkan nama direktori:' awak1
#Semak sama ada direktori itu wujud atau tidak tanpa menggunakan `ujian`
jika [ -d $dir1 ]
kemudian
bergema ' $dir1 direktori wujud.'
lain
bergema ' $dir1 direktori tidak wujud.'
jadilah
#Tambah baris baharu
bergema
#Ambil nama direktori lain
membaca -hlm 'Masukkan nama direktori lain:' dir2
#Semak sama ada fail itu wujud atau tidak menggunakan `test`
jika ujian -d $dir2
kemudian
bergema ' $dir2 direktori wujud.'
lain
bergema ' $dir2 direktori tidak wujud.'
jadilah
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip dengan nama direktori 'temp' dan 'fail'. Mengikut output, kedua-dua direktori wujud di lokasi semasa. Kemudian, arahan 'ls' dilaksanakan untuk menyemak kandungan direktori:
Output berikut muncul selepas melaksanakan skrip dengan nama direktori 'pengujian' dan 'baru'. Mengikut output, kedua-dua direktori tidak wujud di lokasi semasa. Kemudian, output arahan 'ls' menunjukkan bahawa kedua-dua direktori tidak wujud:
Penggunaan Pernyataan 'Jika' dengan Regex
Skrip berikut menunjukkan kaedah mengesahkan data input menggunakan pernyataan 'jika' dengan regex. Di sini, dua nilai input diambil daripada pengguna dan disimpan dalam pembolehubah '$bookname' dan '$bookprice'. Keadaan 'jika' digunakan dalam skrip untuk menyemak sama ada pembolehubah '$bookname' mengandungi semua aksara abjad dan '$bookprice' mengandungi nombor.
#!/bin/bash#Ambil nama buku dan harga daripada pengguna
bergema -n 'Masukkan nama buku:'
membaca nama buku
bergema -n 'Masukkan harga buku:'
membaca harga buku
#Semak nama buku mengandungi abjad sahaja
jika ! [ [ ' $nama buku ' =~ [ A-Za-z ] ] ] ; kemudian
bergema 'Nama buku tidak sah.'
lain
bergema 'Nama buku adalah sah.'
jadilah
#Semak harga buku mengandungi digit sahaja
jika ! [ [ ' $harga buku ' =~ [ 0 - 9 ] ] ] ; kemudian
bergema 'Harga buku boleh mengandungi digit sahaja.'
lain
bergema 'Harga buku adalah sah.'
jadilah
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip dengan nilai input 'Bash Programming' sebagai nama buku dan 78 sebagai harga buku:
Output berikut muncul selepas melaksanakan skrip dengan nilai input 90 sebagai nama buku dan 'Bash' sebagai harga buku:
Penggunaan Pernyataan 'Kes'.
Pernyataan 'kes' ialah alternatif bagi pernyataan 'if-elif-else' tetapi semua tugasan pernyataan 'if-elif-else' tidak boleh dilakukan menggunakan pernyataan 'case'. Penggunaan ringkas pernyataan 'kes' ditunjukkan dalam skrip berikut. Nilai angka diambil daripada pengguna sebagai nilai bulan semasa. Kemudian, bulan yang sepadan dicetak jika sebarang nilai yang sepadan ditemui dalam penyata 'kes'. Jika tidak, mesej lalai akan dicetak.
#!/bin/bash#Ambil nilai bulan semasa dalam nombor
membaca -hlm 'Masukkan bulan hari ini dalam bilangan:' b_bulan
#Cetak teks sebelum mencetak nama bulan
bergema -n 'Nama bulan semasa ialah '
#Ketahui dan cetak nama bulan yang sepadan berdasarkan input
kes $b_month dalam
1 | 01 ) bergema 'Januari.' ;;
2 | 02 ) bergema 'Februari.' ;;
3 | 03 ) bergema 'Mac.' ;;
4 | 04 ) bergema 'April.' ;;
5 | 05 ) bergema 'Mungkin.' ;;
6 | 06 ) bergema 'Jun.' ;;
7 | 07 ) bergema 'Julai.' ;;
8 | 08 ) bergema 'Ogos.' ;;
9 | 09 ) bergema 'September.' ;;
10 ) bergema 'Oktober.' ;;
sebelas ) bergema 'November.' ;;
12 ) bergema 'Disember.' ;;
* ) bergema 'tidak ditemui.' ;;
esac
Pengeluaran :
Output berikut muncul selepas melaksanakan skrip dengan nilai 6:
Output berikut muncul selepas melaksanakan skrip dengan nilai 09:
Output berikut muncul selepas melaksanakan skrip dengan nilai 14:
Kesimpulan
Penggunaan logik bersyarat yang berbeza menggunakan pernyataan 'jika' dan 'kes' ditunjukkan dalam 10 contoh tutorial ini. Konsep menggunakan logik bersyarat dalam Bash akan dikosongkan untuk pengguna Bash baharu selepas membaca tutorial ini.