Bandingkan string dalam bash

Bandingkan string dalam bash

Kebutuhan untuk membandingkan string dalam skrip bash relatif umum dan dapat digunakan untuk memeriksa kondisi tertentu sebelum melanjutkan ke bagian berikutnya dari skrip. String dapat berupa urutan karakter apa pun. Untuk menguji apakah dua string sama, kedua string harus berisi karakter yang sama persis dan dalam urutan yang sama. Itu bisa menjadi kata atau satu kalimat. Misalnya, string satu adalah sama dengan string satu tetapi tidak sama dengan string dua. Dapatkan idenya?

Dalam panduan ini, kami akan menunjukkan kepada Anda cara membandingkan string di shell bash pada sistem Linux. Kami akan menunjukkan ini dalam konteks skrip if/else bash yang sederhana sehingga Anda dapat melihat bagaimana pengujian untuk kondisi ini akan bekerja saat mengembangkan skrip, tetapi kami juga akan menunjukkan bagaimana perbandingan yang sama ini dapat dilakukan di terminal baris perintah.

Dalam tutorial ini Anda akan belajar:

  • Cara membandingkan string di bash
  • Contoh jika/lain skrip bash yang membandingkan string
Membandingkan string di bash Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distro Linux apa pun
Perangkat lunak N/a
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah.
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Bandingkan apakah dua string sama

Anda dapat membuka terminal pada sistem Anda dan menggunakan beberapa contoh ini untuk merasakan cara kerja operator bash ketika datang untuk membandingkan string.

Anda dapat menggunakan sintaks berikut untuk membandingkan dua string.

$ ["apel" = "apel"] $ echo $? 0 

Nilai yang dikembalikan 0 berarti benar. Dengan kata lain, string cocok (seperti yang dapat kita lihat dengan jelas untuk diri kita sendiri).



Ayo coba yang lain.

$ ["apel" = "jeruk"] $ echo $? 1 

Dalam contoh ini, apel tidak sama jeruk, Jadi nilai 1 (Salah) dikembalikan. Contoh yang lebih kompleks paling baik ditunjukkan dalam konteks skrip bash, yang kami bahas di bagian selanjutnya.

Contoh skrip bash untuk membandingkan string

Dalam skrip bash, Anda biasanya akan menyimpan salah satu atau kedua string Anda sebagai variabel sebelum membandingkannya. Inilah contoh sederhana.

#!/bin/bash string1 = "apel" string2 = "jeruk" jika ["$ string1" = "$ string2"]; Kemudian gema "Kedua string itu sama."lain gema" Kedua string tidak sama."Fi
Menyalin

Mengeksekusi skrip ini akan menghasilkan output berikut.

Kedua string tidak sama. 

Tetapi = Bukankah satu -satunya operator yang tersedia bagi kami. Kami juga dapat menguji untuk melihat apakah dua string tidak sama dengan != operator.

#!/bin/bash string1 = "apel" string2 = "jeruk" jika ["$ string1" != "$ string2"]; Lalu echo "string berbeda.String "lain gema" tidak berbeda."Fi
Menyalin

Mengeksekusi skrip ini akan menghasilkan output berikut.

String berbeda. 

Ada juga -z untuk menguji apakah panjang string adalah 0, dan -N untuk menguji apakah panjang string tidak nol.

#!/bin/bash string = "" if [[-z $ string]]; lalu gema "String itu kosong."lain gema" String tidak kosong."Fi
Menyalin

Mengeksekusi skrip ini akan menghasilkan output berikut.

Stringnya kosong. 

Dan skrip yang sama dengan -N dan string yang tidak nol sebagai gantinya:



#!/bin/bash string = "halo" if [[-n $ string]]; lalu gema "String itu tidak kosong."lain gema" string itu kosong."Fi
Menyalin

Mengeksekusi skrip ini akan menghasilkan output berikut.

String tidak kosong. 

Kesimpulan

Dalam panduan ini, kami melihat cara membandingkan string dalam bash, baik dari baris perintah maupun dalam skrip if/else bash. Fungsionalitas ini dapat, tentu saja, diperluas ke skrip yang lebih kuat yang membaca input dari pengguna atau menggunakan operator case, dll.

Ini semua adalah metode perbandingan yang Anda perlukan untuk membandingkan string dalam bash. Bahkan lebih ada saat membandingkan angka, seperti -LT (kurang dari) dan -GT Operator (lebih besar dari). Tapi kami membahasnya secara lebih rinci dalam panduan skrip bash kami.

Tutorial Linux Terkait:

  • Bash Script: Contoh Perbandingan String
  • Dasar -dasar editor VIM di Linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Menguasai loop skrip bash
  • Variabel bash khusus dengan contoh
  • Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…
  • Loop bersarang dalam skrip bash
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux