Dalam tutorial tentang skrip shell bash Linux ini, kita akan belajar bagaimana membandingkan angka, string, dan file dalam skrip shell menggunakan pernyataan if. Perbandingan dalam skrip sangat berguna &setelah hasil perbandingan, skrip akan menjalankan perintah dan kita harus tahu bagaimana kita dapat menggunakannya untuk keuntungan kita.
Sintaks perbandingan dalam skrip shell
jika [ kondisi/perbandingan] maka commandsfi
Contoh
if [2 -gt 3] lalu cetak "2 lebih besar" else cetak "2 tidak lebih besar"fi
Ini hanyalah contoh sederhana dari perbandingan numerik &kita dapat menggunakan pernyataan atau kondisi yang lebih kompleks dalam skrip kita. Sekarang mari kita pelajari perbandingan numerik sedikit lebih detail.
Bandingkan Angka di Linux Shell Script
Ini adalah salah satu metode evaluasi yang paling umum yaitu membandingkan dua angka atau lebih. Sekarang kita akan membuat skrip untuk melakukan perbandingan numerik, tetapi sebelum itu kita perlu mengetahui parameter yang digunakan untuk membandingkan nilai numerik. Disebutkan di bawah ini adalah daftar parameter yang digunakan untuk perbandingan numerik
- angka1 -persamaan angka2 periksa apakah angka ke-1 sama dengan angka ke-2
- angka1 -ge angka2 memeriksa apakah angka ke-1 lebih besar atau sama dengan angka ke-2
- angka1 -gt angka2 memeriksa apakah angka ke-1 lebih besar dari angka ke-2
- num1 -le num2 memeriksa apakah angka ke-1 kurang dari atau sama dengan angka ke-2
- angka1 -lt angka2 memeriksa apakah angka ke-1 kurang dari angka ke-2
- angka1 -nomor2 memeriksa apakah angka ke-1 tidak sama dengan angka ke-2
Sekarang setelah kita mengetahui semua parameter yang digunakan untuk perbandingan numerik, mari gunakan ini dalam skrip,
#!/bin/bash# Skrip untuk melakukan perbandingan numerikvar1=10var2=20if [ $var2 -gt $var1 ] then echo "$var2 is more than $var1"fi# Second comparisonIf [ $var1 -gt 30] then echo "$var lebih besar dari 30" else echo "$var1 kurang dari 30"fi
Ini adalah proses untuk melakukan perbandingan numerik, sekarang mari kita beralih ke perbandingan string.
Bandingkan String di Linux Shell Script
Saat membuat skrip bash, kita mungkin juga diminta untuk membandingkan dua atau lebih string &membandingkan string bisa sedikit rumit. Untuk melakukan perbandingan string, parameter yang digunakan adalah
- var1 =var2 memeriksa apakah var1 sama dengan string var2
- var1 !=var2 memeriksa apakah var1 tidak sama dengan var2
- var1
- var1> var2 memeriksa apakah var1 lebih besar dari var2
- -n var1 memeriksa apakah var1 memiliki panjang lebih besar dari nol
- -z var1 memeriksa apakah var1 memiliki panjang nol
Catatan :- Anda mungkin telah memperhatikan bahwa lebih besar dari simbol (>) &lebih kecil dari simbol (<) yang digunakan di sini juga digunakan untuk pengalihan untuk stdin atau stdout di Linux. Ini bisa menjadi masalah ketika simbol-simbol ini digunakan dalam skrip kami, jadi apa yang bisa dilakukan untuk mengatasi masalah ini.
Solusinya sederhana , ketika menggunakan salah satu dari simbol-simbol ini dalam skrip, mereka harus digunakan dengan karakter escape yaitu gunakan sebagai “/>” atau “/<“.
Sekarang mari kita buat skrip untuk melakukan perbandingan string.
Dalam skrip, pertama-tama kita akan memeriksa kesetaraan string, skrip ini akan memeriksa apakah nama pengguna &variabel yang kita definisikan sama dan akan memberikan output berdasarkan itu. Kedua, kita akan melakukan lebih besar atau lebih kecil dari perbandingan. Dalam kasus ini, alfabet terakhir yaitu z akan menjadi yang tertinggi &alfabet a akan menjadi yang terendah jika dibandingkan. Dan huruf kapital akan dianggap kurang dari huruf kecil.
#!/bin/bash# Skrip untuk melakukan perbandingan persamaan stringname=linuxtechiif [ $USER =$name ] then echo "User existing" else echo "User not found"fi# script to check Zif [ $var1 \> $var2 ] then echo "$var1 is more" else echo "$var2 lebih besar"fi# Perbandingan huruf kecil &huruf besar jika [ $var3 \ ] echo ] lebih besar ] echo "$var1 lebih besar"fi
Sekarang kita akan membuat skrip lain yang akan menggunakan “-n ” &“-z ” dengan string untuk memeriksa apakah mereka memiliki nilai apa pun
#!/bin/bash# Skrip untuk melihat apakah variabel memiliki nilai or notvar1=" "var2=linuxtechiif [ -n $var1 ] then echo "string is not kosong" else /pra>Di sini kami hanya menggunakan parameter ‘-n’ tetapi kami juga dapat menggunakan “-z “. Satu-satunya perbedaan adalah bahwa dengan '-z', ia mencari string dengan panjang nol sementara parameter “-n” mencari nilai yang lebih besar dari nol.
Perbandingan file di Linux Shell Script
Ini mungkin fungsi perbandingan yang paling penting &mungkin yang paling banyak digunakan daripada perbandingan lainnya. Parameter yang digunakan untuk perbandingan file adalah
- -d file memeriksa apakah file tersebut ada dan apakah itu sebuah direktori
- -e file memeriksa apakah file ada di sistem
- -w file memeriksa apakah file ada di sistem dan dapat ditulis
- -r file memeriksa apakah file ada di sistem dan dapat dibaca
- -s file memeriksa apakah file ada di sistem dan tidak kosong
- -f file memeriksa apakah file ada di sistem dan itu adalah file
- -O file memeriksa apakah file ada di sistem dan dimiliki oleh pengguna saat ini
- -File G memeriksa apakah file tersebut ada dan grup defaultnya sama dengan pengguna saat ini
- -x file memeriksa apakah file ada di sistem dan dapat dieksekusi
- file A -nt file B memeriksa apakah file A lebih baru dari file B
- file A -ot file B memeriksa apakah file A lebih lama dari file B
Berikut adalah skrip menggunakan perbandingan file
#!/bin/bash# Skrip untuk memeriksa perbandingan filedir=/home/linuxtechiif [ -d $dir ] then echo "$dir is a directory" cd $dir fi
Demikian pula kami juga dapat menggunakan parameter lain dalam skrip kami untuk membandingkan file. Ini melengkapi tutorial kami tentang bagaimana kami dapat menggunakan perbandingan numerik, string, dan file dalam skrip bash. Ingat, cara terbaik untuk belajar adalah dengan mempraktekkannya sendiri.
Baca Juga :Cara Membuat Tautan Keras dan Lunak (symlink) di Sistem Linux