diskon 50% semua paket, waktu terbatas. Mulai dari $2.48/mo
10 menit tersisa
Servidor & Sistem Operasi

Bash If Statement: Sintaks, Variasi, Kasus Penggunaan, Perintah, dan Lainnya!

Pius Bodenmann By Pius Bodenmann Baca 10 menit Diperbarui 28 Januari 2024
skrip bash

Dalam shell scripting, pernyataan if di Bash memegang peran penting karena memungkinkan programmer membuat alur eksekusi bersyarat berdasarkan berbagai kondisi. Singkatnya, pernyataan if memungkinkan kita mengambil keputusan di dalam skrip Bash, dengan mempertimbangkan faktor seperti hasil pengujian, input pengguna, atau kondisi sistem. Ini seperti cara untuk menavigasi berbagai kemungkinan yang ada.

Saat menggunakan skrip Bash, pernyataan if mengikuti struktur tertentu. Biasanya diawali dengan "if" keyword, diikuti oleh kondisi yang perlu dievaluasi, lalu "kemudian keyword, dan satu atau lebih perintah yang akan dijalankan jika kondisi tersebut terpenuhi.

Agar lebih fleksibel, pernyataan if juga dapat menyertakan sebuah opsional "elifpernyataan (else if), yang digunakan ketika kondisi awal bernilai false. Pernyataan ini memungkinkan kita untuk menguji kondisi tambahan dan melanjutkan eksekusi sesuai hasilnya. Selain itu, pernyataan if dapat memiliki pernyataan "else" opsional, yang dijalankan jika tidak ada satu pun kondisi yang bernilai true.

Dengan menggabungkan pernyataan if bersama perintah Bash lainnya dan fitur-fitur shell scripting, programmer dapat membuat skrip yang mampu mengotomasi tugas dan proses yang kompleks. Simak terus untuk mempelajari lebih lanjut tentang pernyataan if dalam Bash, mulai dari sintaks, kasus penggunaan, hingga contoh-contohnya!

Sintaks Pernyataan If dalam Bash

Sintaks Bash mengacu pada aturan yang mengatur struktur dan tata bahasa perintah serta skrip yang ditulis dalam bahasa shell Bash. Sintaks Bash mencakup berbagai konstruksi dan elemen, seperti:

  • Perintah: Ini adalah program yang dapat dieksekusi atau perintah bawaan shell yang digunakan untuk menjalankan tugas-tugas tertentu. Sebagian besar waktu Anda dalam pemrograman Bash akan dihabiskan untuk berinteraksi dengan baris-baris perintah inilah.
  • Argumen: Ini adalah nilai yang diteruskan ke perintah untuk menentukan opsi, parameter, atau data input. Anggap saja sebagai kondisi yang ditetapkan untuk suatu perintah guna menentukan parameter eksekusinya.
  • Variabel: Ini adalah simbol yang mewakili nilai yang dapat ditetapkan, dimanipulasi, atau digunakan dalam ekspresi. Umumnya digunakan untuk menentukan nilai yang harus ditangani oleh perintah maupun argumen.
  • Pengalihan Arah: Ini adalah proses pengalihan input, output, atau error ke atau dari file, perangkat, atau perintah lain. Tanpa ini, perintah Anda berpotensi menarget tujuan yang salah dan merusak kode.
  • Pipa: Ini adalah mekanisme untuk menghubungkan output satu perintah ke input perintah lain. Umumnya digunakan untuk menjalankan baris perintah kondisional yang kompleks dalam program besar dan membentuk rangkaian perintah yang saling terhubung.
  • Struktur kontrol: Ini adalah konstruksi yang mengontrol alur eksekusi perintah, seperti loop, kondisional, dan fungsi. Memahami struktur kontrol adalah kunci dalam membuat baris perintah yang efektif dan menambah kedalaman pada kode Anda.
  • Komentar: Ini adalah anotasi yang diabaikan oleh shell dan digunakan untuk mendokumentasikan kode atau memberikan penjelasan. Anotasi ini menjadi titik referensi penting saat melakukan analisis dan debugging, terutama dalam proyek tim.

Sintaks Bash harus ditulis dengan benar agar shell dapat menginterpretasikan dan mengeksekusi perintah. Kesalahan sintaks dapat menyebabkan shell menghasilkan pesan error atau perilaku yang tidak diinginkan.

Berikut contoh penerapan pernyataan if di Bash:

if condition
then
   command1
   command2
   ...
   commandN
elif condition2
then
   commandA
   commandB
   ...
   commandC
else
   commandX
   commandY
   ...
   commandZ
fi

Dalam contoh ini, "condition" merujuk pada sebuah pengujian yang menghasilkan nilai true atau false. Jika kondisi bernilai true, perintah-perintah yang ditentukan setelah kata kunci "then" akan dieksekusi. Jika kita ingin mengevaluasi kondisi tambahan, kita bisa menggunakan kata kunci "elif". Ini memberi cara untuk mempertimbangkan kemungkinan lain. Jika tidak ada kondisi yang bernilai true, perintah setelah kata kunci "else" yang akan dijalankan, sebagai rencana cadangan. Terakhir, kata kunci "fi" digunakan untuk menandai akhir dari pernyataan if.

Bagaimana Cara Kerja Pernyataan Bash?

Dalam Bash scripting, pernyataan if sangat berguna untuk mengarahkan alur skrip berdasarkan hasil pengujian kondisional. Fungsinya adalah mengevaluasi suatu kondisi dan, jika kondisi tersebut bernilai true, mengeksekusi sekumpulan perintah tertentu.

Mari kita lihat bagaimana pernyataan if bekerja dalam skrip Bash. Skrip mengevaluasi kondisi yang disebutkan dalam pernyataan if. Jika kondisi bernilai true, perintah-perintah dalam blok "then" akan dieksekusi.

Namun, jika kondisi bernilai false, skrip akan melanjutkan evaluasi ke kondisi elif berikutnya. Jika salah satu kondisi elif bernilai true, perintah dalam blok elif tersebut yang akan dieksekusi. Jika tidak ada satu pun kondisi dalam pernyataan if maupun elif yang bernilai true, skrip akan mengeksekusi perintah dalam blok else (jika blok else disertakan).

Pada dasarnya, pernyataan if berfungsi sebagai mekanisme pengambilan keputusan dalam skrip, memungkinkannya menjalankan jalur eksekusi yang berbeda tergantung pada hasil pengujian. Pengujian itu sendiri dapat mempertimbangkan berbagai faktor, seperti hasil suatu perintah atau nilai yang ditetapkan pada sebuah variabel.

Contoh Pernyataan If di Bash

Mari kita tinggalkan teori dasar dan lihat bagaimana pernyataan if di Bash digunakan dalam pengembangan kode secara nyata. Berikut contoh yang menunjukkan cara kerjanya:

#!/bin/bash
# set a variable
x=5
# evaluate the variable
if [ $x -gt 4 ]
then
  echo "x is greater than 4."
else
  echo "x is less than or equal to 4."
fi

Dalam contoh ini, pernyataan if mengevaluasi nilai variabel x. Jika x lebih besar dari 4, skrip mengeksekusi perintah untuk mencetak "x is greater than 4". Jika x kurang dari atau sama dengan 4, skrip mengeksekusi perintah untuk mencetak "x is less than or equal to 4".

Setelah memahami dasar pernyataan If di Bash dan cara kerjanya, mari kita bahas lebih dalam variasinya: Basic If Statement, Nested If Statement, Bash If Else, If Elif Else, dan Case Statement, satu per satu.

Pernyataan If Dasar

Mari mulai dengan pernyataan if dasar di Bash. Pernyataan if memeriksa apakah suatu kondisi bernilai true, lalu mengeksekusi blok kode terkait. Berikut sintaksnya:

if [ condition ]
then
  commands
fi

Dalam contoh ini, skrip mengevaluasi kondisi yang diberikan. Jika kondisi bernilai true, perintah yang ditentukan akan dieksekusi. Jika kondisi bernilai false, skrip melanjutkan ke perintah berikutnya tanpa mengeksekusi blok dalam bagian "then".

Pernyataan If Bersarang

Nested if statement, sesuai namanya, adalah pernyataan if yang berada di dalam pernyataan if lainnya. Struktur berlapis ini memungkinkan pengujian dan analisis yang lebih kompleks dalam sebuah skrip. Berikut contohnya:

if [ condition1 ]
then
  if [ condition2 ]
  then
    commands
  fi
fi

Dari perintah tersebut, terlihat bahwa skrip pertama-tama mengevaluasi condition1. Jika condition1 terbukti true, skrip kemudian mengevaluasi condition2. Jika condition2 juga true, skrip mengeksekusi perintah yang diperlukan.

Pernyataan Bash If Else

Pernyataan if else di Bash memungkinkan Anda mengambil keputusan dalam skrip berdasarkan apakah suatu kondisi bernilai true atau false, sehingga eksekusi kode bisa lebih sesuai situasi. Berikut tampilan strukturnya:

if [ condition ]
then
  commands1
else
  commands2
fi

Konstruksi ini memastikan bahwa jika kondisi terpenuhi, skrip akan segera menjalankan "commands1". Namun, jika kondisi bernilai false, skrip akan beralih dan menjalankan "commands2".

Pernyataan If Elif Else

Kadang kamu perlu menangani beberapa kondisi sekaligus beserta hasilnya masing-masing. Pernyataan if elif else memungkinkan kamu melakukan hal itu dengan tepat. Perhatikan sintaksis berikut:

if [ condition1 ]
then
  commands1
elif [ condition2 ]
then
  commands2
else
  commands3
fi

Di sini, skrip akan mengevaluasi condition1 terlebih dahulu. Jika kondisi tersebut bernilai true, skrip akan segera menjalankan commands1. Namun, jika condition1 bernilai false, skrip beralih untuk mengevaluasi condition2. Jika condition2 bernilai true, skrip akan menjalankan commands2. Dan jika keduanya, condition1 maupun condition2, bernilai false, skrip akan menjalankan alternatif terakhir, yaitu commands3.

Pernyataan Case

Dalam Bash, terdapat pernyataan case yang cara kerjanya mirip dengan switch statement pada bahasa pemrograman lain. Pernyataan ini memungkinkan kamu menjalankan kumpulan perintah yang berbeda berdasarkan nilai sebuah variabel. Perhatikan strukturnya berikut:

case expression in
  pattern1)
    commands1;;
  pattern2)
    commands2;;
  pattern3)
    commands3;;
*)
default commands;;
esac

Di sini, skrip mengevaluasi variabel expression dan mencocokkannya dengan berbagai pola. Jika ada kecocokan, kumpulan perintah yang sesuai akan dijalankan. Jika tidak ada kecocokan, perintah default yang akan dijalankan. Pola asterisk (*) berfungsi sebagai wildcard yang mencocokkan apa pun yang belum tercakup oleh pola sebelumnya.

Operator Logika Bash

Bagian penting lain dari mekanisme if statement Bash adalah operator logika. Operator ini memungkinkan kamu menggabungkan beberapa kondisi sekaligus, sehingga keputusan dapat diambil berdasarkan hasil gabungan kondisi-kondisi tersebut. Bash menyediakan tiga operator logika utama yang bisa digunakan dalam if statement. Berikut contoh penggunaan ketiga jenis operator logika tersebut.

  • Bash AND (&&):
if [ $age -ge 18 ] && [ "$citizen" == "yes" ]; then
  echo "You meet the criteria for voting."
fi
  • Logical or (||):
if [ "$status" == "active" ] || [ "$role" == "admin" ]; then
  echo "Access granted."
fi
  • Tidak Sama Dengan:
if(( ! $a == "true" )) then 
  echo "a" was initially false. 
else
  echo "a" was initially true. 
fi

Kesimpulan

Dalam artikel ini, kami menyajikan panduan pengantar tentang if statement Bash dan cara penggunaannya. Kami juga membahas bagaimana pernyataan kondisional ini dapat membuat kode kamu lebih rapi dan fungsional. Dengan memanfaatkan pernyataan kondisional secara efektif, kamu bisa membuat skrip yang mampu menangani tugas-tugas kompleks dan pengambilan keputusan.

Baru mengenal dunia Linux? Biar kami yang memandu perjalananmu! Linux VPS adalah titik awal yang tepat untuk pemula, menawarkan kemudahan tanpa mengorbankan kemampuan. Dengan antarmuka yang mudah digunakan dan dukungan dari para ahli, kamu bisa mulai memanfaatkan server Linux dengan lebih mudah dari sebelumnya. Baik untuk membangun website, menguji aplikasi, maupun menjelajahi dunia Linux, Linux VPS kami menyediakan lingkungan yang aman dan bebas hambatan. Mulai langkah pertamamu di dunia Linux dengan percaya diri - lihat pilihan Linux VPS kami hari ini dan mulailah petualangan Linux-mu!

Hosting Linux VPS

Dapatkan Linux VPS paket ekonomi atau premium untuk kebutuhan hosting website atau remote desktop, dengan harga paling terjangkau. VPS berjalan di atas Linux KVM untuk efisiensi lebih tinggi, didukung hardware bertenaga dengan penyimpanan NVMe SSD untuk kecepatan optimal.

Baca Selengkapnya

Pertanyaan yang Sering Diajukan

Bisakah saya menggunakan operator logika dalam if statement Bash?

Ya, kamu bisa menggunakan operator logika seperti dan dan '||' dalam if statement Bash. Misalnya, if [ $var -gt 0 ] && [ $var -lt 10 ]; then … akan menjalankan blok kode jika $var bernilai lebih dari 0 dan kurang dari 10.

Bisakah saya menggunakan beberapa kondisi dalam satu if statement?

Ya, kamu bisa menggunakan beberapa kondisi sekaligus dalam satu if statement Bash dengan memanfaatkan operator logika seperti -a (AND) atau -o (OR) untuk menggabungkannya. Misalnya, if [ $var -gt 0 -a $var -lt 10 ]; then … akan menjalankan blok kode jika $var bernilai lebih dari 0 DAN kurang dari 10.

Bisakah saya menggunakan command substitution dalam if statement Bash?

Ya, kamu bisa menggunakan command substitution dalam pernyataan if Bash dengan membungkus perintah dalam $() atau backticks (Untuk contoh, if [ $(whoami) == "root" ]; then … akan menjalankan blok kode jika pengguna saat ini adalah root.

[[ vs [ vs ( vs ((: Apa perbedaan antara operator Bash ini?

Singkatnya, [[ digunakan untuk pengujian kondisional tingkat lanjut. [ digunakan untuk pengujian kondisional dasar. ( digunakan untuk pengelompokan subshell dan eksekusi perintah. (( digunakan untuk operasi aritmatika.

 

Bagikan

Artikel lainnya dari blog

Terus baca.

Gambar sampul Best Self-Hosted Apps You Can Run with Cosmos Cloud dengan panel aplikasi di sekitar dashboard Cosmos.
Servidor & Sistem Operasi

Aplikasi Self-Hosted Terbaik yang Bisa Anda Jalankan dengan Cosmos Cloud: File, Media, Password, Otomasi, dan Lainnya!

Maybe Anda sudah menyiapkan Cosmos Cloud dan ingin tahu aplikasi apa yang cocok digunakan bersamanya, atau mungkin Anda belum memutuskan untuk pakai Cosmos dan hanya ingin melihat seberapa baik ia cocok dengan alur kerja Anda

Nick SilverNick Silver bacaan 16 menit
Portainer vs Cosmos Cloud untuk Mengelola Aplikasi Docker, dengan diagram setup hybrid dan blok ops vs akses berneon.
Servidor & Sistem Operasi

Portainer vs Cosmos Cloud: Pilihan Terbaik untuk Manajemen Aplikasi Docker

Jika Anda sudah mengenal Docker dan ingin cara yang lebih rapi untuk menjalankan tumpukan aplikasi yang terus berkembang, ini jawaban singkat soal Portainer vs Cosmos Cloud. Portainer adalah pilihan yang lebih kuat untuk peng

Nick SilverNick Silver 14 menit baca
Grafik fitur Cosmos Cloud vs CasaOS vs Umbrel yang menampilkan tiga jalur self-hosted dalam satu jaringan cloud abstrak.
Servidor & Sistem Operasi

Cosmos Cloud vs CasaOS vs Umbrel: Platform Self-Hosted Mana yang Cocok untuk Setup Anda?

Singkatnya, CasaOS masih menjadi tempat termudah untuk memulai, Umbrel menawarkan tampilan yang paling rapi dan terkurasi, sedangkan Cosmos Cloud lebih masuk akal ketika Anda menginginkan kendali lebih ketat atas doma

Nick SilverNick Silver 11 menit baca

Siap untuk di-deploy? Mulai dari $2.48/bulan.

Cloud independen, sejak 2008. AMD EPYC, NVMe, 40 Gbps. Garansi uang kembali 14 hari.