Pernyataan IF

Pengantar Bash Scripting

Alex Scriven

Data Scientist

Pernyataan IF dasar

Struktur dasar pernyataan IF di Bash:

if [ CONDITION ]; then

# SOME CODE
else # SOME OTHER CODE
fi

Dua tips:

  • Spasi di antara kurung siku dan elemen kondisi (baris pertama)
  • Tanda titik koma setelah kurung tutup ];
Pengantar Bash Scripting

IF dan string

Kita dapat melakukan perbandingan string dasar dalam pernyataan IF:

x="Queen"

if [ $x == "King" ]; then
echo "$x adalah King!"
else echo "$x bukan King!" fi
Queen bukan King!

Anda juga dapat memakai != untuk 'tidak sama dengan'

Pengantar Bash Scripting

IF aritmetika (opsi 1)

Pernyataan IF aritmetika dapat memakai struktur tanda kurung ganda:

x=10

if (($x > 5)); then echo "$x lebih dari 5!" fi
10 lebih dari 5!
Pengantar Bash Scripting

IF aritmetika (opsi 2)

Pernyataan IF aritmetika juga bisa menggunakan kurung siku dan flag aritmetika, bukan (>, <, =, !=, dll.):

  • -eq untuk 'sama dengan'
  • -ne untuk 'tidak sama dengan'
  • -lt untuk 'kurang dari'
  • -le untuk 'kurang dari atau sama dengan'
  • -gt untuk 'lebih dari'
  • -ge untuk 'lebih dari atau sama dengan'
Pengantar Bash Scripting

Contoh IF aritmetika

Berikut kita buat ulang contoh terakhir dengan notasi kurung siku:

x=10
if [ $x -gt 5 ]; then
    echo "$x lebih dari 5!"
fi
10 lebih dari 5!
Pengantar Bash Scripting

Flag kondisional Bash lainnya

Bash juga memiliki berbagai flag terkait file seperti:

  • -e jika file ada
  • -s jika file ada dan berukuran lebih dari nol
  • -r jika file ada dan dapat dibaca
  • -w jika file ada dan dapat ditulis

Serta lainnya:

Pengantar Bash Scripting

Menggunakan AND dan OR di Bash

 

Untuk menggabungkan kondisi (AND) atau menggunakan OR di Bash, gunakan simbol berikut:

  • && untuk AND
  • || untuk OR
Pengantar Bash Scripting

Beberapa kondisi

Di Bash Anda dapat merangkai kondisi sebagai berikut:

x=10
if [ $x -gt 5 ] && [ $x -lt 11 ]; then
    echo "$x lebih dari 5 dan kurang dari 11!"
fi

Atau gunakan notasi double-square-bracket:

x=10
if [[ $x -gt 5 && $x -lt 11 ]]; then
    echo "$x lebih dari 5 dan kurang dari 11!"
fi
Pengantar Bash Scripting

IF dan program baris perintah

Anda juga dapat memakai banyak program baris perintah langsung di kondisi, menghapus kurung siku.

Contoh, jika file words.txt berisi 'Hello World!':

if grep -q Hello words.txt; then
    echo "Hello ada di dalam!"
fi
Hello ada di dalam!
Pengantar Bash Scripting

IF dengan shell-di-dalam-shell

Anda juga dapat memanggil shell-di-dalam-shell untuk kondisinya.

Mari tulis ulang contoh terakhir; hasilnya sama.

if $(grep -q Hello words.txt); then
    echo "Hello ada di dalam!"
fi
Hello ada di dalam!
Pengantar Bash Scripting

Ayo berlatih!

Pengantar Bash Scripting

Preparing Video For Download...