Cara Menguasai Logika Bersyarat di Bash

Cara Menguasai Logika Bersyarat Di Bash



Penggunaan logika kondisional adalah bagian yang sangat penting dari bahasa pemrograman apa pun. Logika kondisional dapat diimplementasikan di Bash dengan berbagai cara untuk menyelesaikan masalah pemrograman. Metode penggunaan logika kondisional di Bash melalui berbagai jenis pernyataan “if” dan “case” untuk membandingkan nilai string dan numerik, memeriksa konten variabel, memeriksa keberadaan file atau direktori, dll. .

Daftar Konten:

  1. Penggunaan Pernyataan “Jika”.
  2. Penggunaan Pernyataan “If-Else”.
  3. Penggunaan Pernyataan “If-Elif-Else”.
  4. Penggunaan Pernyataan “Jika” untuk Memeriksa Variabel Kosong
  5. Penggunaan Pernyataan “Jika” dengan Operator Logis
  6. Penggunaan Pernyataan “Jika” Bersarang
  7. Penggunaan Pernyataan “Jika” untuk Memeriksa Keberadaan File
  8. Penggunaan Pernyataan “Jika” untuk Memeriksa Keberadaan Direktori
  9. Penggunaan Pernyataan “Jika” dengan Regex
  10. Penggunaan Pernyataan “Kasus”.

Penggunaan Pernyataan “Jika”.

Contoh ini menunjukkan penggunaan sederhana dari pernyataan “if” di Bash. Enam jenis operator perbandingan dapat digunakan untuk membandingkan nilai numerik di Bash. Ini adalah “-eq” (sama), “-ne” (tidak sama), “-le” (kurang dari sama), “-ge” (lebih besar dari sama), “-lt” (kurang dari), dan “ -gt” (lebih besar dari). Penggunaan “-lt” dan “-eq” ditunjukkan pada skrip berikut apakah angkanya kurang dari 99 atau belum diperiksa menggunakan operator “-lt”. Nomornya genap atau ganjil dan diperiksa oleh operator “-eq”.







#!/bin/bash

#Tetapkan nilai numerik

( ( nomor = lima puluh ) )

#Periksa nilai numerik menggunakan pernyataan 'jika'

jika [ $angka -lt 99 ]

Kemudian

gema 'Nomornya valid.'

menjadi

#Periksa apakah bilangan tersebut genap atau tidak

jika [ $ ( ( $angka % 2 ) ) -persamaan 0 ]

Kemudian

gema “Jumlahnya genap.”

menjadi

Keluaran :



Output berikut muncul setelah menjalankan skrip sebelumnya:



  hal1





Pergi ke atas

Penggunaan Pernyataan “If-Else”.

Penggunaan pernyataan “if-else” ditunjukkan pada skrip berikut. Nilai string diambil dari pengguna dan memeriksa apakah nilainya “BIRU” atau tidak menggunakan pernyataan “if-else”.



#!/bin/bash

#Ambil nilai string dari pengguna

membaca -P 'Masukkan warna favoritmu:' warna

#Periksa nilai string menggunakan pernyataan 'if-else'

jika [ ${warna^^} == 'BIRU' ]

Kemudian

gema 'Baik, warna Biru tersedia.'

kalau tidak

gema ' $warna tidak tersedia.'

menjadi

Keluaran :

Output berikut muncul setelah menjalankan skrip sebelumnya jika “merah” diambil sebagai input:

  hal2-1

Output berikut muncul setelah menjalankan skrip sebelumnya jika “biru” diambil sebagai input:

  hal2-2

Pergi ke atas

Penggunaan Pernyataan “If-Elif-Else”.

Penggunaan pernyataan “if-elif-else” ditunjukkan pada skrip berikut. Sebuah nomor diambil dari pengguna dan diperiksa dengan nilai yang berbeda hingga ditemukan kecocokan. Jika ditemukan kecocokan, pesan terkait akan dicetak. Jika tidak ditemukan kecocokan, pesan default akan dicetak.

#!/bin/bash

#Ambil nilai id dari pengguna

membaca -P 'Masukkan nomor seri Anda:' serial

#Periksa nilai input menggunakan pernyataan 'if-elif-else'

jika [ $serial == '4523' ]

Kemudian

gema 'Kamu terpilih di grup A.'

Elif [ $serial == '8723' ]

Kemudian

gema 'Kamu terpilih di grup B.'

Elif [ $serial == '3412' ]

Kemudian

gema 'Kamu terpilih di grup C.'

kalau tidak

gema 'Kamu tidak terpilih' .

menjadi

Keluaran:

Output berikut muncul setelah menjalankan skrip dengan nilai 8723:

  hal3-1

Output berikut muncul setelah menjalankan skrip dengan nilai 9078:

  hal3-2

Pergi ke atas

Penggunaan Pernyataan “Jika” untuk Memeriksa Variabel Kosong

Cara memeriksa apakah suatu variabel kosong tanpa menggunakan pernyataan “if” ditunjukkan pada skrip berikut. Opsi “-z” digunakan dalam pernyataan “if” untuk melakukan tugas ini.

#!/bin/bash

#Ambil nilai id dari pengguna

membaca -P 'Masukkan nomor seri Anda:' serial

#Periksa apakah variabelnya kosong atau tidak

jika [ ! -Dengan $serial ]

Kemudian

#Periksa nilai input menggunakan pernyataan 'if-elif-else'

jika [ $serial == '690' ]

Kemudian

gema 'Kamu terpilih di tim-1.'

Elif [ $serial == '450' ]

Kemudian

gema 'Kamu terpilih di tim-2.'

kalau tidak

gema 'Kamu tidak terpilih' .

menjadi

kalau tidak

gema 'Tidak ada nomor seri yang diberikan.'

menjadi

Keluaran :

Output berikut muncul setelah menjalankan skrip dengan nilai 690:

  hal4-1

Output berikut muncul setelah menjalankan skrip jika tidak ada nilai input yang diambil:

  hal4-2

Pergi ke atas

Penggunaan Pernyataan “Jika” dengan Operator Logis

Tiga jenis operator logika dapat digunakan dalam pernyataan kondisional Bash. Ini adalah logika OR (||), logika AND (&&), dan logika NOT (!). Nilai kode diambil dari pengguna. Jika nilai input tidak kosong, nilai tersebut diperiksa dengan dua nilai kode menggunakan logika OR. Jika nilainya cocok dengan kode apa pun, pesan terkait akan dicetak. Jika tidak ditemukan kode yang cocok, pesan default akan dicetak.

#!/bin/bash

#Ambil kode kursus dari pengguna

membaca -P 'Masukkan kode kursus:' kode

#Periksa apakah variabelnya kosong atau tidak

jika [ ! -Dengan $kode ]

Kemudian

#Periksa nilai input menggunakan pernyataan 'if-elif-else'

jika [ [ $kode == 'CSE-106' || $kode == 'CSE-108' ] ]

Kemudian

gema 'Kursus CSE.'

Elif [ [ $kode == 'BBA-203' || $kode == 'BBA-202' ] ]

Kemudian

gema 'Kursus BBA.'

kalau tidak

gema 'Kode kursus tidak valid.'

menjadi

kalau tidak

gema 'Tidak ada kode kursus yang diberikan.'

menjadi

Keluaran :

Output berikut muncul setelah menjalankan skrip dengan nilai input “CSE-108”:

  hal5-1

Output berikut muncul setelah menjalankan skrip dengan nilai input “BBA-56”:

  hal5-2

Pergi ke atas

Penggunaan Pernyataan “Jika” Bersarang

Jika kondisi “jika” digunakan di dalam kondisi “jika” yang lain, maka kondisi tersebut disebut pernyataan “jika” yang disarangkan. Metode penggunaan “if” yang disarangkan ditunjukkan pada skrip berikut. Dua nilai tanda diambil dari pengguna. Jika nilai input tidak kosong, kondisi “if” pertama memeriksa apakah nilai “$theory” lebih besar atau sama dengan 60 atau tidak. Jika kondisi “if” pertama mengembalikan “true”, kondisi “if” kedua memeriksa apakah nilai “$lab” lebih besar atau sama dengan 50 atau tidak. Jika kondisi “jika” kedua juga mengembalikan “benar”, pesan sukses akan dicetak. Jika tidak, pesan kegagalan akan dicetak.

#!/bin/bash

#Ambil tanda teori

membaca -P 'Masukkan tanda teori:' teori

#Ambil tanda lab

membaca -P 'Masukkan tanda lab:' laboratorium

#Periksa apakah variabelnya kosong atau tidak

jika [ [ ! -Dengan $teori && ! -Dengan $lab ] ]

Kemudian

#Periksa nilai input menggunakan pernyataan 'jika' bersarang

jika [ $teori -ge 60 ]

Kemudian

jika [ $lab -ge lima puluh ]

Kemudian

gema 'Kamu telah lulus.'

kalau tidak

gema 'Anda telah gagal.'

menjadi

kalau tidak

gema 'Anda telah gagal.'

menjadi

kalau tidak

gema “Teori atau nilai labnya kosong.”

menjadi

Keluaran :

Output berikut muncul jika kedua atau salah satu nilai input kosong:

  hal6-1

Output berikut muncul jika 78 diambil sebagai nilai teori dan 45 diambil sebagai nilai lab. Di sini, kondisi “jika” kedua menghasilkan “false”:

  hal6-2

Output berikut muncul jika 67 diambil sebagai nilai teori dan 56 diambil sebagai nilai lab. Di sini, kedua kondisi “jika” menghasilkan “benar”:

  hal6-3

Output berikut muncul jika 50 diambil sebagai nilai teori dan 80 diambil sebagai nilai lab. Di sini, kondisi “jika” pertama menghasilkan “false”:

  hal6-4

Pergi ke atas

Penggunaan Pernyataan “Jika” untuk Memeriksa Keberadaan File

Keberadaan file dapat diperiksa dengan skrip bash dengan dua cara. Salah satunya adalah menggunakan operator “-f” dengan tanda kurung “[]”. Cara lainnya adalah menggunakan perintah “test” dan operator “-f”. Nama file diambil dan diperiksa keberadaan file tersebut menggunakan kondisi “if” dengan operator “-f”. Kemudian diambil nama file lain dan periksa keberadaan file tersebut menggunakan pernyataan “if” dengan perintah “test” dan operator “-f”.

#!/bin/bash

#Ambil nama file

membaca -P 'Masukkan nama file:' fn1

#Periksa apakah file tersebut ada atau tidak tanpa menggunakan `test`

jika [ -F $fn1 ]

Kemudian

gema ' $fn1 berkasnya ada.'

kalau tidak

gema ' $fn1 file tidak ada.'

menjadi

#Tambahkan baris baru

gema

#Ambil nama file lain

membaca -P 'Masukkan nama file lain:' fn2

#Periksa apakah file tersebut ada atau tidak menggunakan `test`

jika tes -F $fn2 ; Kemudian

gema ' $fn2 berkasnya ada.'

#Periksa apakah file tersebut kosong atau tidak menggunakan `test`

jika tes -Dengan $fn2 ; Kemudian

gema ' $fn2 berkasnya kosong.'

kalau tidak

gema ' $fn2 berkasnya tidak kosong.'

menjadi

kalau tidak

gema ' $fn2 file tidak ada.'

menjadi

Keluaran :

Output berikut muncul setelah menjalankan skrip dengan mengambil “test.txt” dan “testing.txt” sebagai nama file. Menurut keluarannya, kedua file ada di lokasi saat ini dan file “testing.txt” kosong:

  hal7-1

Output berikut muncul setelah menjalankan skrip dengan mengambil “f1.txt” dan “test.txt” sebagai nama file. Menurut keluarannya, file “f1.txt” tidak ada di lokasi saat ini dan file “test.txt” tidak kosong:

  hal7-2

Pergi ke atas

Penggunaan Pernyataan “Jika” untuk Memeriksa Keberadaan Direktori

Keberadaan direktori dapat diperiksa dengan skrip Bash dengan dua cara seperti file. Salah satunya adalah menggunakan operator “-d” dengan tanda kurung “[]”. Cara lainnya adalah menggunakan perintah “test” dan operator “-d”. Nama direktori diambil dan diperiksa keberadaan direktori tersebut menggunakan kondisi “if” dengan operator “-d”. Kemudian diambil nama direktori lain dan diperiksa keberadaan filenya menggunakan pernyataan “if” dengan perintah “test” dan operator “-d”.

#!/bin/bash

#Ambil nama direktori

membaca -P 'Masukkan nama direktori:' kamu1

#Periksa apakah direktori tersebut ada atau tidak tanpa menggunakan `test`

jika [ -D $dir1 ]

Kemudian

gema ' $dir1 direktori ada.'

kalau tidak

gema ' $dir1 direktori tidak ada.'

menjadi

#Tambahkan baris baru

gema

#Ambil nama direktori lain

membaca -P 'Masukkan nama direktori lain:' dir2

#Periksa apakah file tersebut ada atau tidak menggunakan `test`

jika tes -D $dir2

Kemudian

gema ' $dir2 direktori ada.'

kalau tidak

gema ' $dir2 direktori tidak ada.'

menjadi

Keluaran :

Output berikut muncul setelah menjalankan skrip dengan nama direktori “temp” dan “files”. Menurut keluarannya, kedua direktori ada di lokasi saat ini. Kemudian, perintah “ls” dijalankan untuk memeriksa isi direktori:

  hal8-1

Output berikut muncul setelah menjalankan skrip dengan nama direktori “testing” dan “new”. Menurut keluarannya, kedua direktori tidak ada di lokasi saat ini. Kemudian, output dari perintah “ls” menunjukkan bahwa kedua direktori tidak ada:

  hal8-2

Pergi ke atas

Penggunaan Pernyataan “Jika” dengan Regex

Skrip berikut menunjukkan metode validasi data masukan menggunakan pernyataan “if” dengan regex. Di sini, dua nilai input diambil dari pengguna dan disimpan dalam variabel “$bookname” dan “$bookprice”. Kondisi “if” digunakan dalam skrip untuk memeriksa bahwa variabel “$bookname” berisi semua karakter alfabet dan “$bookprice” berisi angka.

#!/bin/bash

#Ambil nama buku dan harga dari pengguna

gema -N 'Masukkan nama buku:'

membaca nama buku

gema -N 'Masukkan harga buku:'

membaca harga buku

#Periksa nama buku hanya berisi alfabet

jika ! [ [ ' $nama buku ' =~ [ A-Za-z ] ] ] ; Kemudian

gema 'Nama buku tidak valid.'

kalau tidak

gema 'Nama buku valid.'

menjadi

#Cek harga buku hanya berisi digit

jika ! [ [ ' $harga buku ' =~ [ 0 - 9 ] ] ] ; Kemudian

gema 'Harga buku hanya boleh berisi digit.'

kalau tidak

gema 'Harga buku valid.'

menjadi

Keluaran :

Output berikut muncul setelah menjalankan skrip dengan nilai input “Bash Programming” sebagai nama buku dan 78 sebagai harga buku:

  hal9-1

Output berikut muncul setelah menjalankan skrip dengan nilai input 90 sebagai nama buku dan “Bash” sebagai harga buku:

  hal9-2

Pergi ke atas

Penggunaan Pernyataan “Kasus”.

Pernyataan “case” adalah alternatif dari pernyataan “if-elif-else” tetapi semua tugas dari pernyataan “if-elif-else” tidak dapat dilakukan dengan menggunakan pernyataan “case”. Penggunaan sederhana dari pernyataan “case” ditunjukkan pada skrip berikut. Nilai numerik diambil dari pengguna sebagai nilai bulan saat ini. Kemudian, bulan yang bersangkutan akan dicetak jika ada nilai yang cocok ditemukan dalam pernyataan “kasus”. Jika tidak, pesan default akan dicetak.

#!/bin/bash

#Ambil nilai bulan ini dalam angka

membaca -P 'Masukkan bulan hari ini pada nomor:' b_bulan

#Cetak teks sebelum mencetak nama bulan

gema -N 'Nama bulan saat ini adalah'

#Cari tahu dan cetak nama bulan yang cocok berdasarkan input

kasus $b_bulan di dalam

1 | 01 ) gema 'Januari.' ;;

2 | 02 ) gema 'Februari.' ;;

3 | 03 ) gema 'Berbaris.' ;;

4 | 04 ) gema 'April.' ;;

5 | 05 ) gema 'Mungkin.' ;;

6 | 06 ) gema 'Juni.' ;;

7 | 07 ) gema 'Juli.' ;;

8 | 08 ) gema 'Agustus.' ;;

9 | 09 ) gema 'September.' ;;

10 ) gema 'Oktober.' ;;

sebelas ) gema 'November.' ;;

12 ) gema 'Desember.' ;;

* ) gema 'tidak ditemukan.' ;;

esac

Keluaran :

Output berikut muncul setelah menjalankan skrip dengan nilai 6:

  hal10-1

Output berikut muncul setelah menjalankan skrip dengan nilai 09:


  hal10-2

Output berikut muncul setelah menjalankan skrip dengan nilai 14:

  hal10-3

Pergi ke atas

Kesimpulan

Penggunaan logika kondisional yang berbeda dengan menggunakan pernyataan “if” dan “case” ditunjukkan dalam 10 contoh tutorial ini. Konsep penggunaan logika kondisional di Bash akan dijelaskan untuk pengguna Bash baru setelah membaca tutorial ini.