Pernyataan Bash ‘jika lain’: Tutorial dan Contoh

Menggunakan pernyataan if…else di Bash untuk eksekusi kode bersyarat.

Bash (Bourne Again Shell) adalah prompt perintah shell dan bahasa scripting di sistem operasi GNU/Linux. Ini adalah shell default untuk sebagian besar distribusi Linux.

Pernyataan bersyarat sangat penting dalam bahasa pemrograman apa pun, dikompilasi serta ditulis. Mereka membiarkan pengguna mengeksekusi sepotong kode berdasarkan kondisi yang telah ditentukan, yang merupakan salah satu dasar logika pemrograman. Pada artikel ini, kita akan belajar bagaimana menggunakan pernyataan kondisional if…else di Bash.

pengantar

Pernyataan if…else di Bash memungkinkan pengguna memanipulasi aliran kode berdasarkan kondisi. Pengguna dapat menentukan blok kode terpisah yang akan dieksekusi, hanya satu yang akhirnya akan dieksekusi selama runtime, berdasarkan kondisi yang sesuai yang dipenuhi.

Perhatikan bahwa, lebih dari dua kondisi dapat ditentukan, yang pernyataan elif dapat digunakan. Pengguna dapat memberikan sejumlah kondisi menggunakan elif, dan akhirnya kondisi default menggunakan blok else. Mari kita lihat lebih lanjut tentang ini dalam sintaks dan contoh di bawah ini.

Sintaks Umum

Sintaks umum untuk pernyataan if…else di Bash adalah:

jika <kondisi> maka <kode blok 1> lain <kode blok 2> fi

Di sini, jika <kondisi> memenuhi, yaitu jika mengembalikan 0 (berhasil), maka blok kode 1 dijalankan. Jika kondisi tidak mengembalikan 0, yaitu mengembalikan status kegagalan, maka blok kode 2 dijalankan. jika… lain blok berakhir dengan fi pernyataan.

Untuk beberapa blok yang sesuai dengan beberapa kondisi, elif digunakan:

jika <kondisi 1> maka <kode blok 1> elif <kondisi 2> lalu <kode blok 2> elif <kondisi 3> lalu <kode blok 3>……else <kode blok n> fi

Di sini, kondisi diperiksa secara berurutan dan blok kode dari kondisi pertama yang mengembalikan status 0 (berhasil) dijalankan. Misalnya. jika <kondisi 1> mengembalikan status bukan nol (kegagalan), maka <kondisi 2> dicentang. Jika <kondisi 2> mengembalikan status 0, <kode blok 2> dijalankan. Setelah ini, kondisi lebih lanjut tidak diperiksa dan eksekusi kode berlanjut ke kode setelah pernyataan fi.

Jika tidak ada kondisi yang mengembalikan status 0, <code block n> di blok else dieksekusi. Perhatikan bahwa blok else bersifat opsional. Jika tidak ada kondisi yang terpenuhi, serta tidak ada blok lain yang ditentukan, tidak ada blok kode bersyarat yang akan dijalankan, dan eksekusi kode akan dilanjutkan ke kode setelah pernyataan fi, seperti yang ditunjukkan pada diagram alur di bawah ini.

Perhatikan bahwa pernyataan then hanya digunakan setelah pernyataan if dan elif dan tidak diperlukan setelah pernyataan else.

Contoh

Untuk mengeksekusi blok kode jika variabel memiliki nilai tertentu:

x=0 jika [ $x -eq 0 ] maka echo “Nilai X adalah 0” else echo “Nilai X bukan 0” fi

Untuk memeriksa beberapa nilai:

x=2 if [ $x -eq 0 ] lalu echo “Nilai X adalah 0” elif [ $x -eq 1 ] lalu echo “Nilai X adalah 1” elif [ $x -eq 2 ] lalu echo “Nilai dari X adalah 2” else echo “Nilai X bukan 0” fi

Syaratnya bisa berupa perintah Linux apa saja. Blok kode yang sesuai akan dijalankan jika perintah berhasil dijalankan.

jika npm -v lalu gema “NPM ada di sistem” selain itu Sudo apt install npm fi

Pada contoh di atas, karena npm tidak diinstal di sistem, perintah npm -v mengembalikan status bukan nol. Oleh karena itu, eksekusi kode masuk ke blok else, tempat kita menginstal npm menggunakan apt package manager. Seperti yang bisa kita lihat, itu meminta saya untuk memasukkan kata sandi dan memulai instalasi npm.

Kita juga dapat menyarangkan blok if…else lain di dalam blok if, else atau elif :

x=0 y=1 if [ $x -eq 0 ] then echo “X is 0” if [ $y -eq 1 ] then echo “Y is 1” else echo “Y is not 1” fi else echo “X is bukan 0” fi

Ini berguna ketika satu set kondisi terpisah akan diperiksa setelah kondisi awal terpenuhi.

Misalnya, kode berikut mencoba menginstal perangkat lunak server web:

jika nginx -v lalu gema “NGINX sudah diinstal.” lain jika sudo apt install nginx lalu gema “instalasi NGINX berhasil.” elif Sudo apt install Apache2 lalu gema “instalasi APACHE2 berhasil.” else echo “Tidak dapat menginstal perangkat lunak web apa pun.” fi

Kode pertama-tama memeriksa apakah Nginx sudah diinstal di sistem. Jika ya, itu hanya menampilkan pesan dan keluar. Jika tidak, ia mencoba menginstal Nginx.

Jika karena alasan tertentu, Nginx tidak dapat diinstal di sistem dari paket, ia mencoba menginstal Apache2. Jika bahkan Apache2 memberikan kesalahan saat menginstal, ia keluar dengan menampilkan pesan bahwa tidak ada perangkat lunak yang dapat diinstal.

Dengan cara yang sama, blok bersarang dapat digunakan di dalam blok elif juga.

Menjalankan if…else : Script dan Command Line

Mirip dengan kode Bash apa pun, pernyataan if…else dapat digunakan di shell Bash secara langsung atau dari file skrip shell yang dapat dieksekusi. Setelah penerjemah Bash menemukan pernyataan if, else atau elif, ia melanjutkan shell untuk membiarkan pengguna memasukkan blok kode.

Pengguna juga dapat menyimpan kode ini dalam file skrip dan menjalankan file skrip.

#! / Bin / bash di awal menentukan interpreter yang akan digunakan ketika file tersebut dijalankan. Meskipun Bash adalah shell yang paling umum digunakan saat ini, beberapa pengguna lebih memilih shell seperti zsh, yang harus ditentukan sebagai pengganti bash di awal file ini.

Untuk memberikan izin eksekusi untuk file ini, jalankan:

chmod +x test.sh

Terakhir, untuk menjalankan file, jalankan:

./test.sh

Kesimpulan

Mirip dengan bahasa pemrograman apa pun, pernyataan if…else adalah fitur dasar Bash. Mempelajari penggunaannya sangat membantu dalam menulis skrip dasar maupun lanjutan.

Related Posts