Berikut ini adalah contoh bash script script perbandingan if elif else multiple or multiple and gabungan antara and dan or membandingkan angka dan string :

Statement dasar

if kondisi
then
  perintah
else
  perintah
fi

Contoh example.sh :

#!/bin/bash
# Basic if statement
if [ $1 -gt 20 ]
then
  echo Angka lebih besar dari 20
elif [ $1 -gt 10 ]
then
  echo Angka lebih besar dari 10
else
  echo Angka lebih kecil dari 10
fi

Hasil seperti ini

[root@uvcms1 script]# sh example.sh 5
Angka lebih kecil dari 10
[root@uvcms1 script]# sh example.sh 11
Angka lebih besar dari 10
[root@uvcms1 script]# sh example.sh 21
Angka lebih besar dari 20

Operator

Operator Description
! EXPRESSION false
-n STRING panjang string lebih besar dari 0
-z STRING String kosong (ie it is empty).
STRING1 = STRING2 STRING1 sama dengan STRING2
STRING1 != STRING2 STRING1 tidak sama dengan STRING2
INTEGER1 -eq INTEGER2 INTEGER1 sama dengan INTEGER2
INTEGER1 -gt INTEGER2 INTEGER1 lebih besar dari INTEGER2
INTEGER1 -lt INTEGER2 INTEGER1 lebih kecil dari INTEGER2
-d FILE FILE ada dan apakah merupakan direktori
-e FILE FILE ada
-r FILE FILE ada dan dan memiliki akses membaca.
-s FILE FILE ada dan ukurannya lebih besar dari 0 (ie. it is not empty).
-w FILE FILE ada dan memiliki akses untuk menulis.
-x FILE FILE ada dan memiliki akses untuk menjalankan.

Hal yang perlu diperhatikan:

= sedikit berbeda dengan -eq.
[001 = 1] akan mengembalikan false. = melakukan perbandingan string (mis. Karakter untuk karakter sama) sedangkan -eq melakukan perbandingan numerik [001 -eq 1] akan mengembalikan true.

Nested Statement / If bersarang

#!/bin/bash
# Nested if statements
if [ $1 -gt 100 ]
then
  echo Hey that\'s a large number.
  if (( $1 % 2 == 0 ))
   then
    echo And is also an even number.
  fi
fi

if (( $1 % 2 == 0 )) itulah yang dimaksud nested statement

Tanda Kurung

Apa perbedaan tanda kurung

if [condition]
if [[condition]]
if ((condition))
if (condition)
  1. if [condition]
    Tanda kurung tradisional yang berjalan diseluruh sistem POSIX
  2. if [[condition]]
    Sistem kurung yang telah di upgrade dari ksh dan zsh. Mendukung perbandingan dengan regular expression
  3. if ((condition))
    Ektensi dari bash ksh dan digunakan untuk operasi aritmatika
  4. if (condition)
    Sub kondisi yang biasanya terdapat di dalam kondisi utama [[  (sub_kondisi)  && (sub_kondisi)  ]]

Penjelasan didapatkan dari sini

If Elif Else

Contoh beberapa kondisi

#!/bin/bash
# elif statements
if [ $1 -ge 18 ]
then
  echo lebih besar sama dengan 18
elif [ $2 == 'yes' ]
then
  echo Bisa nomor berapa saja
else
  echo cilukba
fi

Boolean Operator

Yaitu perintah perbandingan untuk multi kondisi dalam hal ini bisa menggunakan operator boolean.

  • and – &&
  • or – ||

Contoh :

#!/bin/bash
# and example
if [ $1 -gt 1 ] && [ $1 -lt 5 ]
then
  echo benar
else
  echo salah
fi

Hanya angka 2,3,4 yang mengeluarkan output benar

[root@uvcms1 script]# sh testbol.sh 5
salah
[root@uvcms1 script]# sh testbol.sh 1
salah
[root@uvcms1 script]# sh testbol.sh 2
benar
[root@uvcms1 script]# sh testbol.sh 3
benar
[root@uvcms1 script]# sh testbol.sh 4
benar

Contoh lain : tampilkandir.sh

#!/bin/bash
# or example
var=$1
if [[ $var == 'show' ]] || [[ $var == 'tampil' ]]
then
  ls -alh
else
  ls
fi

$1 didapatkan dari entri di command line

hasilnya seperti ini

[root@uvcms1 bashscript]# sh tampilkandir.sh lihat
example.sh  tampilkandir.sh
[root@uvcms1 bashscript]# sh tampilkandir.sh show
total 16K
drwxr-xr-x 2 root root 4.0K Nov 29 09:31 .
drwxr-xr-x 4 root root 4.0K Nov 29 09:30 ..
-rw-r--r-- 1 root root  189 Nov 29 09:30 example.sh
-rw-r--r-- 1 root root  110 Nov 29 09:32 tampilkandir.sh

Statement Case

Kadang kita ingin membuat kondisi berdasarkan variabel tertentu dan kita bisa menggunakan case.

Sintak dasar :

case <variable> in
<pattern 1>)
<commands>
;;
<pattern 2>)
<other commands>
;;
esac

Contoh case.sh

#!/bin/bash
# case example
case $1 in
  start)
    echo starting
  ;;
  stop)
    echo stoping
  ;;
  restart)
    echo restarting
  ;;
  *)
    echo don\'t know
  ;;
esac

Hasilnya

[root@uvcms1 bashscript]# sh case.sh $1
don't know
[root@uvcms1 bashscript]# sh case.sh start
starting
[root@uvcms1 bashscript]# sh case.sh stop
stoping
[root@uvcms1 bashscript]# sh case.sh restart
restarting

Contoh kuotadisk.sh

#!/bin/bash
# Print a message about disk useage.
space_free=$( df -h | awk '{ print $5 }' | sort -n | tail -n 1 | sed 's/%//' )
case $space_free in
  [1-5]*)
    echo Plenty of disk space available
  ;;
  [6-7]*)
    echo There could be a problem in the near future
  ;;
  8*)
    echo Maybe we should look at clearing out old files
  ;;
  9*)
    echo We could have a serious problem on our hands soon
  ;;
  *)
    echo Something is not quite right here
  ;;
esac
[root@uvcms1 bashscript]# sh kuotadisk.sh
Plenty of disk space available

If Multi Kondisi “AND” dan  “OR”

Kadang kita membutuhkan operasi multiple && dan multiple ||

Contoh cocok.sh

#!/bin/bash

if [[ ($1 == 1 && $2 == 2) || ($1 == 1 && $2 == 3) ]];
then
 echo cocok.
else
 echo tidak cocok.
fi

Hasil

[root@uvcms1 bashscript]# sh cocok.sh 1 2
cocok.
[root@uvcms1 bashscript]# sh cocok.sh 1 3
cocok.
[root@uvcms1 bashscript]# sh cocok.sh 1 4
tidak cocok.

Selamat belajar bash scripting.

Sumber :

Konsultasi via WA di 0817-0334-1186
Posting Terkait :
Cara Cepat Menghapus Folder Besar Berisi Banyak File di Linux

Tutorial ini menjelaskan bagaimana cara menghapus folder berukuran besar yang di dalamnya banyak file kecil-kecil di sistem operasi Linux. Alkisah Read more

Bash Script: Array Dengan Index Menggunakan String

Sekedar catatan pada pemrograman bash bahwa pendefinisian variabel array dan menampilkan array adalah sebagai berikut ini : #!/bin/sh #pendefinisian Array Read more

Bash Script Mencegah Script Berjalan Duplikat Berkali-kali Proses

Kadang kita mengeksekusi script bash melalui cron setiap menit sedangkan script tersebut belum menyelesaikan tugasnya.  Yang terjadi script berjalan duplikat Read more

Bash Script Kalkulasi 2 Waktu dan Tanggal Dalam Jam Detik Menit

Berikut ini adalah kumpulan bash script kalkulasi waktu dan tanggal dengan output jam detik dan menit: Kalkulasi 2 waktu output Read more

Sharing is Caring.!

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *