Bagaimana membandingkan string di Bash

How Compare Strings Bash



Untuk tujuan pemrograman yang berbeda, kita perlu membandingkan nilai dari dua string. Fungsi bawaan digunakan dalam banyak bahasa pemrograman untuk menguji kesetaraan dua string. Anda dapat memeriksa kesetaraan dan ketidaksetaraan dua string di bash dengan menggunakan jika penyataan. == digunakan untuk memeriksa kesetaraan dan ! = digunakan untuk memeriksa ketidaksetaraan string. Anda dapat membandingkan sebagian nilai dari dua string juga di bash. Bagaimana Anda dapat membandingkan nilai string di bash ditampilkan menggunakan berbagai contoh dalam tutorial ini.

Contoh-1: Perbandingan String menggunakan operator ==

Tidak ada fungsi perbandingan bawaan untuk memeriksa kesetaraan dua nilai string di bash seperti bahasa pemrograman standar lainnya. Dalam skrip berikut, dua variabel string, strval1 dan strval2 dideklarasikan. Ekuitas dari dua variabel string ini diuji menggunakan yang pertama jika pernyataan naskah. Nilai dari strval1 dibandingkan dengan nilai string untuk memeriksa kesetaraan di detik jika penyataan.







#!/bin/bash

strval1='Ubuntu'
strval2='Jendela'

#Periksa kesetaraan dua variabel string

jika [ $strval1==$strval2 ];kemudian
dibuang 'Stringnya sama'
lain
dibuang 'String tidak sama'
menjadi

#Periksa kesetaraan variabel dengan nilai string

jika [ $strval1=='Ubuntu' ];kemudian
dibuang 'Sistem operasi Linux'
lain
dibuang 'Sistem operasi Windows'
menjadi

Keluaran:



Perbandingan pertama tidak sama dan perbandingan kedua sama.







Contoh-2: Perbandingan String menggunakan != operator

Ketidaksamaan dua variabel string diperiksa dalam contoh berikut. Di sini dua nilai tidak sama. Jadi, jika kondisinya benar dan Sistem operasi Windows akan mencetak.

#!/bin/bash

strval1='Ubuntu'
strval2='Jendela'

#Periksa ketidaksetaraan variabel dengan nilai string

jika [ $strval2 !='Ubuntu' ];kemudian
dibuang 'Sistem operasi Windows'
lain
dibuang 'Sistem operasi Linux'
menjadi

Keluaran:



Contoh-3: Perbandingan String Parsial

Anda dapat membandingkan nilai parsial dengan menggunakan karakter wild card dalam skrip bash. Dalam skrip berikut, * digunakan sebagai karakter wild card untuk pencocokan sebagian. variabel string, strval mengandung kata Internet. Jadi, yang pertama jika skrip akan mengembalikan true dan mencetak Sebagian Cocok . Bash peka huruf besar-kecil. Untuk ini, yang kedua jika script akan mengembalikan false untuk menggunakan internet sebagai string parsial yang tidak sama dengan perbandingan huruf bijaksana.

#!/bin/bash

strval='Microsoft Internet Explorer'

jika [[ $ strval==*Internet* ]];
kemudian
dibuang 'Sebagian Cocok'
lain
dibuang 'Tidak Cocok'
menjadi

jika [[ $ strval==*Internet* ]];
kemudian
dibuang 'Sebagian Cocok'
lain
dibuang 'Tidak Cocok'
menjadi

Keluaran:

Contoh-4: Bandingkan string dengan nilai input pengguna

Terkadang, kita perlu membandingkan nilai string yang diambil oleh pengguna dengan nilai string tertentu untuk tujuan pemrograman. Dalam contoh berikut, data string akan diambil dari pengguna sebagai input dan membandingkan ketidaksetaraan data dengan nilai tetap. Jika kondisinya benar maka akan dicetak Tidak Ada Catatan Ditemukan , jika tidak maka akan dicetak Rekam Ditemukan .

#!/bin/bash

dibuang 'Masukkan nama Anda'
Bacamemasukkan

jika [ $ masukan !='Fahmida' ];
kemudian
dibuang 'Tidak Ada Rekaman Ditemukan'
lain
dibuang 'Rekaman Ditemukan'
menjadi

Keluaran:

Video pelajaran ini ada di sini:

Tugas perbandingan string di bash akan lebih mudah bagi Anda setelah menyelesaikan contoh di atas dengan pemahaman yang jelas.