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 jika ... lain
pernyataan bersyarat di Bash.
pengantar
Itu jika ... lain
pernyataan 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: elif
pernyataan dapat digunakan. Pengguna dapat memberikan sejumlah kondisi menggunakan elif
, dan akhirnya kondisi default menggunakan kalau tidak
memblokir. Mari kita lihat lebih lanjut tentang ini dalam sintaks dan contoh di bawah ini.
Sintaks Umum
Sintaks umum untuk jika ... lain
pernyataan di Bash adalah:
jika kemudian kalau tidak fi
Di sini, jika 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. Itu
jika ... lain
blok berakhir dengan fi
penyataan.
Untuk beberapa blok yang sesuai dengan beberapa kondisi,elif
digunakan:
jika kemudian elif lalu elif lalu ... ... kalau tidak fi
Di sini, kondisi diperiksa secara berurutan dan blok kode dari kondisi pertama yang mengembalikan status 0 (berhasil) dijalankan. Misalnya. jika Jika tidak ada kondisi yang mengembalikan status 0, Perhatikan bahwa Untuk mengeksekusi blok kode jika suatu variabel memiliki nilai tertentu: Untuk memeriksa beberapa nilai: Syaratnya bisa berupa perintah Linux apa saja. Blok kode yang sesuai akan dijalankan jika perintah berhasil dijalankan. Dalam contoh di atas, karena Kita juga bisa membuat sarang yang lain Ini berguna ketika satu set kondisi terpisah akan diperiksa setelah kondisi awal terpenuhi. Misalnya, kode berikut mencoba menginstal perangkat lunak server web: 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 Mirip dengan kode Bash apa pun, Pengguna juga dapat menyimpan kode ini dalam file skrip dan menjalankan file skrip. Itu Untuk memberikan izin eksekusi untuk file ini, jalankan: Terakhir, untuk mengeksekusi file, jalankan: Mirip dengan bahasa pemrograman apa pun, mengembalikan status bukan nol (gagal), maka
diperiksa. Jika
mengembalikan status 0,
dieksekusi. Setelah ini, kondisi lebih lanjut tidak diperiksa dan eksekusi kode berlanjut ke kode setelah
fi
penyataan. di blok lain dieksekusi. Perhatikan bahwa blok else bersifat opsional. Jika tidak ada kondisi yang terpenuhi, begitu juga tidak
kalau tidak
blok ditentukan, tidak ada blok kode bersyarat yang akan berjalan, dan eksekusi kode akan dilanjutkan ke kode setelah fi
pernyataan, seperti yang ditunjukkan pada diagram alir di bawah ini.kemudian
pernyataan akan digunakan hanya setelah jika
dan elif
pernyataan dan tidak diperlukan setelah kalau tidak
penyataan.Contoh
x=0 jika [ $x -eq 0 ] maka echo "Nilai X adalah 0" else echo "Nilai X bukan 0" fi
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
jika npm -v lalu gema "NPM ada di sistem" selain itu Sudo apt install npm fi
npm
tidak diinstal di sistem, perintah npm -v
mengembalikan status bukan nol. Oleh karena itu, eksekusi kode masuk ke kalau tidak
blok, tempat kami menginstal npm menggunakan tepat
manajer paket. Seperti yang bisa kita lihat, itu meminta saya untuk memasukkan kata sandi dan memulai instalasi npm.jika ... lain
blok di dalam jika
, kalau tidak
atau elif
memblokir: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
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
elif
blok juga.Pelaksana
jika ... lain
: Skrip dan Baris Perintahjika ... lain
pernyataan dapat digunakan di Bash shell secara langsung atau dari file skrip shell yang dapat dieksekusi. Setelah penerjemah Bash menemukan jika
, kalau tidak
atau elif
pernyataan, itu melanjutkan shell untuk membiarkan pengguna memasukkan blok kode.#!/bin/bash
di awal menentukan penerjemah yang akan digunakan saat file dieksekusi. 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.chmod +x test.sh
./test.sh
Kesimpulan
jika ... lain
pernyataan adalah fitur mendasar dari Bash. Mempelajari penggunaannya sangat membantu dalam menulis skrip dasar maupun lanjutan.