Introduction to Bash Scripting 06 - A Simple "If" Statement
Daftar Isi:
if
Pernyataanif..else
Pernyataanif..elif..else
Statement- Laporan bersarang
if
- Berbagai Kondisi
- Operator Uji
- Kesimpulan
Pengambilan keputusan adalah salah satu konsep paling mendasar dari pemrograman komputer. Seperti bahasa pemrograman lainnya,
if
,
if..elif..else
,
if..elif..else
dan bersarang
if
pernyataan dalam Bash dapat digunakan untuk mengeksekusi kode berdasarkan kondisi tertentu.
Dalam tutorial ini, kami akan memandu Anda melalui dasar-dasar pernyataan Bash
if
dan menunjukkan kepada Anda bagaimana menggunakannya dalam skrip shell Anda.
if
Pernyataan
Bash
if
kondisional dapat memiliki bentuk yang berbeda. Pernyataan
if
paling mendasar mengambil bentuk berikut:
if TEST-COMMAND then STATEMENTS fi
Pernyataan
if
dimulai dengan kata kunci
if
diikuti oleh ekspresi kondisional dan kata kunci
then
. Pernyataan berakhir dengan kata kunci
fi
.
Jika
TEST-COMMAND
mengevaluasi ke
True
,
STATEMENTS
dijalankan. Jika
TEST-COMMAND
mengembalikan
False
, tidak ada yang terjadi,
STATEMENTS
diabaikan.
Secara umum, ini merupakan praktik yang baik untuk selalu membuat indentasi kode Anda dan memisahkan blok kode dengan baris kosong. Kebanyakan orang memilih untuk menggunakan indentasi 4-ruang atau 2-ruang. Lekukan dan baris kosong membuat kode Anda lebih mudah dibaca dan diatur.
Mari kita lihat contoh skrip berikut yang memeriksa apakah angka yang diberikan lebih besar dari 10.
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." fi
Simpan kode dalam file dan jalankan dari baris perintah:
bash test.sh
Script akan meminta Anda untuk memasukkan nomor. Jika misalnya, Anda memasukkan 15, perintah
test
akan mengevaluasi ke
true
karena 15 lebih besar dari 10, dan perintah
echo
di dalam klausa
then
akan dieksekusi.
The variable is greater than 10.
if..else
Pernyataan
Pernyataan Bash
if..else
mengambil bentuk berikut:
if TEST-COMMAND then STATEMENTS1 else STATEMENTS2 fi
Jika
TEST-COMMAND
mengevaluasi ke
True
, maka
STATEMENTS1
akan dieksekusi. Kalau tidak, jika
TEST-COMMAND
mengembalikan
False
,
STATEMENTS2
akan dieksekusi. Anda hanya dapat memiliki satu klausa
else
dalam pernyataan.
Mari kita tambahkan klausa
else
ke skrip contoh sebelumnya:
#!/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
Pernyataan Bash
if..elif..else
mengambil bentuk berikut:
if TEST-COMMAND1 then STATEMENTS1 elif TEST-COMMAND2 then STATEMENTS2 else STATEMENTS3 fi
Jika
TEST-COMMAND1
mengevaluasi ke
True
, maka
STATEMENTS1
akan dieksekusi. Jika
TEST-COMMAND2
mengevaluasi ke
True
, maka
TEST-COMMAND2
akan dieksekusi. Jika tidak ada perintah tes yang mengevaluasi ke
True
, maka
STATEMENTS2
dijalankan.
Anda dapat memiliki satu atau lebih klausa
elif
dalam pernyataan itu. Klausa
else
adalah opsional.
Kondisi dievaluasi secara berurutan. Setelah suatu kondisi kembali
True
kondisi yang tersisa tidak dilakukan dan dan kontrol program bergerak ke akhir pernyataan
if
.
Mari menambahkan klausa
elif
ke skrip sebelumnya:
#!/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
Laporan bersarang
if
Bash memungkinkan Anda untuk membuat pernyataan
if
dalam pernyataan
if
. Anda dapat menempatkan beberapa pernyataan
if
di dalam statement
if
lainnya.
Skrip berikut akan meminta Anda memasukkan tiga angka dan akan mencetak angka terbesar di antara ketiga angka tersebut.
#!/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 hasilnya akan terlihat:
Enter the first number: 4 Enter the second number: 7 Enter the third number: 2 7 is the largest number.
Alih-alih menggunakan pernyataan bersarang
if
, biasanya lebih efisien menggunakan pernyataan kasus.
Berbagai Kondisi
Operator logika
OR
dan
AND
memungkinkan Anda untuk menggunakan beberapa kondisi dalam pernyataan
if
.
Ini adalah versi lain dari skrip untuk mencetak angka terbesar di antara tiga angka. Dalam versi ini, alih-alih pernyataan bersarang
if
, kami akan menggunakan operator logika
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
Operator Uji
Di Bash, perintah
test
mengambil salah satu bentuk sintaks berikut:
test EXPRESSION]
Untuk meniadakan ekspresi tes, gunakan operator
NOT
logis (
!
). Saat membandingkan string selalu gunakan tanda kutip tunggal atau ganda untuk menghindari masalah pemecahan kata atau penggumpalan.
Berikut adalah beberapa operator yang paling sering digunakan:
-
-n
VAR
- Benar jika panjang VAR lebih besar dari nol.-z
VAR
- Benar jika VAR kosong.STRING1 = STRING2
- Benar [STRING1 dan STRING2 sama.STRING1 != STRING2
- True STRING1 dan STRING2 tidak sama.INTEGER1 -eq INTEGER2
- True INTEGER1 dan INTEGER2 adalah sama.INTEGER1 -gt INTEGER2
- True INTEGER1 lebih besar dari INTEGER2.INTEGER1 -lt INTEGER2
- True INTEGER1 kurang dari INTEGER2.INTEGER1 -ge INTEGER2
- True INTEGER1 sama atau lebih besar dari INTEGER2.INTEGER1 -le INTEGER2
- True INTEGER1 sama dengan atau kurang dari INTEGER2.-h
FILE
- Benar jika FILE ada dan merupakan tautan simbolis.-r
FILE
- Benar jika FILE ada dan dapat dibaca.-w
FILE
- Benar jika FILE ada dan dapat ditulis.-x
FILE
- Benar jika FILE ada dan dapat dieksekusi.-d
FILE
- Benar jika FILE ada dan merupakan direktori.-e
FILE
- Benar jika FILE ada dan merupakan file, terlepas dari jenisnya (node, direktori, socket, dll.).-f
FILE
- Benar jika FILE ada dan merupakan file biasa (bukan direktori atau perangkat).
Kesimpulan
Pernyataan
if
,
if..elif..else
dan
if..elif..else
memungkinkan Anda untuk mengontrol alur eksekusi skrip Bash dengan mengevaluasi kondisi yang diberikan.
Microsoft Research Asia Menyelenggarakan Gerbang di Bash 10 Tahun

Microsoft Research Asia telah berkembang dari belasan orang pada tahun 1998 menjadi lebih dari 350 satu dekade kemudian.
Cara menjalankan Bash di Ubuntu pada Windows 10

Mengaktifkan Windows Subsystem untuk Linux akan memungkinkan Anda menjalankan Bash di Ubuntu pada Windows 10, skrip Bash , Linux command-line tools, Linux-first tools.
Array bash

Array adalah salah satu struktur data yang paling banyak digunakan dan mendasar. Dalam artikel ini, kami akan membahas array Bash, dan menjelaskan cara menggunakannya dalam skrip Bash Anda.