Bagaimana membandingkan rentetan dalam Bash

How Compare Strings Bash



Untuk tujuan pengaturcaraan yang berbeza, kita perlu membandingkan nilai dua rentetan. Fungsi terbina dalam digunakan dalam banyak bahasa pengaturcaraan untuk menguji persamaan dua rentetan. Anda boleh memeriksa persamaan dan ketaksamaan dua rentetan dalam bash dengan menggunakan sekiranya penyataan. == digunakan untuk memeriksa kesaksamaan dan ! = digunakan untuk memeriksa ketaksamaan rentetan. Anda boleh membandingkan sebahagian nilai dua rentetan juga dalam bash. Bagaimana anda dapat membandingkan nilai rentetan dalam bash ditunjukkan menggunakan pelbagai contoh dalam tutorial ini.

Contoh-1: Perbandingan String menggunakan == operator

Tidak ada fungsi perbandingan bawaan untuk memeriksa kesamaan dua nilai rentetan dalam bash seperti bahasa pengaturcaraan standard lain. Dalam skrip berikut, dua pemboleh ubah rentetan, pusing1 dan selang2 diisytiharkan. Ekuiti dua pemboleh ubah rentetan ini diuji menggunakan yang pertama sekiranya penyataan skrip. Nilai pusing1 dibandingkan dengan nilai rentetan untuk memeriksa persamaan pada detik sekiranya penyataan.







#! / bin / bash

pusing1='Ubuntu'
selang2='Windows'

#Periksa kesamaan dua pemboleh ubah rentetan

sekiranya [ $ strval1==$ strval2 ];kemudian
membuang 'Strings sama'
yang lain
membuang 'Strings tidak sama'
menjadi

#Periksa persamaan pemboleh ubah dengan nilai rentetan

sekiranya [ $ strval1=='Ubuntu' ];kemudian
membuang 'Sistem operasi Linux'
yang lain
membuang 'Sistem operasi Windows'
menjadi

Pengeluaran:



Perbandingan pertama tidak sama dan perbandingan kedua sama.







Contoh-2: Perbandingan Rentetan menggunakan! = Operator

Ketidaksamaan dua pemboleh ubah rentetan diperiksa dalam contoh berikut. Di sini dua nilai tidak sama. Jadi, sekiranya keadaan akan berlaku dan Sistem operasi Windows akan mencetak.

#! / bin / bash

pusing1='Ubuntu'
selang2='Windows'

#Periksa ketaksamaan pemboleh ubah dengan nilai rentetan

sekiranya [ $ strval2 !='Ubuntu' ];kemudian
membuang 'Sistem operasi Windows'
yang lain
membuang 'Sistem operasi Linux'
menjadi

Pengeluaran:



Contoh-3: Perbandingan Rentetan Separa

Anda boleh membandingkan nilai separa dengan menggunakan watak wild card dalam skrip bash. Dalam skrip berikut, * digunakan sebagai watak wild card untuk sepadan separa. Pembolehubah rentetan, jalinan mengandungi perkataan Internet. Jadi, yang pertama sekiranya skrip akan kembali benar dan dicetak Sepadan Sebahagian . Bash sensitif terhadap kes. Untuk ini, yang kedua sekiranya skrip akan kembali salah kerana menggunakan internet sebagai rentetan separa yang tidak sama dengan perbandingan huruf.

#! / bin / bash

jalinan='Microsoft Internet Explorer'

sekiranya [[ $ selang==*Internet* ]];
kemudian
membuang 'Sepadan Sebahagian'
yang lain
membuang 'Tidak setanding'
menjadi

sekiranya [[ $ selang==*Internet* ]];
kemudian
membuang 'Sepadan Sebahagian'
yang lain
membuang 'Tidak setanding'
menjadi

Pengeluaran:

Contoh-4: Bandingkan rentetan dengan nilai input pengguna

Kadang kala, kita perlu membandingkan nilai rentetan yang diambil oleh pengguna dengan nilai rentetan tertentu untuk tujuan pengaturcaraan. Dalam contoh berikut, data rentetan akan diambil dari pengguna sebagai input dan membandingkan ketaksamaan data dengan nilai tetap. Sekiranya syarat itu benar maka ia akan dicetak tiada rekod ditemui , jika tidak, ia akan dicetak Rekod Dijumpai .

#! / bin / bash

membuang 'Masukkan nama anda'
membacainput

sekiranya [ masukan $ !='Fahmida' ];
kemudian
membuang 'Tiada rekod ditemui'
yang lain
membuang 'Rekod Ditemui'
menjadi

Pengeluaran:

Video pelajaran ini ada di sini:

Tugas perbandingan rentetan dalam bash akan lebih mudah bagi anda setelah menyelesaikan contoh-contoh di atas dengan pemahaman yang jelas.