GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Membandingkan Angka dan String di Linux Shell Script

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


Linux
  1. Cara Mempercantik Terminal dan Shell Linux Anda

  2. Cara Mengatur/Membuat Variabel Lingkungan dan Shell di Linux

  3. Cara memeriksa apakah grup ada dan menambahkan jika tidak ada di Linux Shell Script

  1. Cara mendefinisikan dan menggunakan fungsi di Linux Shell Script

  2. Bagaimana Membandingkan String di Bash Shell Scripting

  3. Cara Mengganti Shell di Linux

  1. Cara Menjalankan Perintah / Script Shell Linux di Latar Belakang

  2. Bagaimana membandingkan dan menggabungkan file teks di Linux

  3. Cara membandingkan dan menggabungkan file teks di Linux (bagian 2)