GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Membandingkan String di Bash Shell Scripting

Berurusan dengan string adalah bagian dari bahasa pemrograman apa pun. Skrip Bash Shell tidak berbeda. Bahkan sintaksnya hampir sama.

Dalam tutorial singkat ini, saya akan menunjukkan cara membandingkan string di skrip shell Bash.

Perbandingan string bash

Inilah cara Anda membandingkan string di Bash.

if [ "$string1" == "$string2" ]

Anda juga dapat menggunakan string secara langsung daripada menggunakan variabel.

if [ "$string1" == "This is my string" ]

Biarkan saya menunjukkannya kepada Anda dengan contoh yang tepat.

Periksa apakah dua string sama

Jika Anda ingin memeriksa apakah dua string sama, berikut contohnya:

#!/bin/bash
string1="MyString"
string2="MyString"
if [ "$string1" == "$string2" ]
then
    echo "Equal Strings"
else
    echo "Strings not equal"
fi

Kiat:Perhatikan spasi

Harus ada spasi di antara [ dan nama variabel dan operator persamaan ==. Jika Anda melewatkan salah satu spasi di sini, Anda akan melihat kesalahan seperti 'operator unary diharapkan' atau hilang `]'.

Periksa apakah string tidak sama di Bash

Alih-alih memeriksa kualitasnya, mari kita lakukan yang sebaliknya dan periksa ketidaksetaraan. Bash juga menyediakan operator negasi sehingga Anda dapat dengan mudah menggunakan kondisi “jika tidak sama” dalam skrip shell.

if [ "$string1" != "Not MyString" ]

Contoh lengkapnya seperti ini:

#!/bin/bash
string1="MyString"

if [ "$string1" != "Not MyString" ]
then
    echo "Not Equal Strings"
else
    echo "Strings equal"
fi

Periksa apakah string null atau kosong di Bash

Tidak seperti beberapa bahasa lain seperti C++, di Bash Anda dapat memeriksa apakah string tersebut null atau kosong dengan satu perintah:

if [ -z "$VAR" ]

-z sebenarnya memeriksa apakah panjang variabel adalah nol atau tidak. Jika variabel tidak disetel atau jika kosong (sama dengan “”), panjangnya akan menjadi nol dan karenanya kondisinya akan kembali benar.

Contoh lengkapnya bisa dilihat di sini:

#!/bin/bash
string1=
string2=""
if [ -z "$string1" ]
then
    echo "Null Strings"
fi
if [ -z "$string2"]
then
    echo "Empty String"
fi

Catatan tentang penggunaan tanda kurung tunggal '[]' dan tanda kurung ganda '[[]]' dalam skrip bash

Anda juga dapat menggunakan pernyataan if dengan tanda kurung ganda seperti ini:

if [[ "$string1" == "My String" ]]

Braket tunggal adalah konvensi Posix lama dan memiliki beberapa kekurangan. Jika Anda tidak menggunakan tanda kutip ganda di sekitar variabel dan variabel tidak terdefinisi, variabel tersebut akan hilang dari kode dan ini akan mengakibatkan kesalahan sintaksis.

if [ $string1 == "My String" ]

Jika variabel $string1 kosong atau tidak didefinisikan dalam kode di atas, baris tersebut akan menjadi ekuivalen dengan

if [  == "$string2" ]

Kesimpulan

Saya harap tutorial singkat ini membantu Anda dalam membandingkan string dalam skrip bash shell. Saya sarankan untuk membaca tutorial singkat lainnya tentang perintah bash sleep juga.

Jika Anda memiliki pertanyaan atau saran, jangan ragu untuk meninggalkan komentar di bawah.


Linux
  1. Bagaimana Membandingkan Angka dan String di Linux Shell Script

  2. Bagaimana caranya:Riwayat Bash/Shell yang tidak terbatas?

  3. Cara grep bagian file di bash shell

  1. Bagaimana Bash Tahu Bagaimana Itu Dipanggil?

  2. Bagaimana Mengurai Json Dengan Shell Scripting Di Linux?

  3. Cara menggemakan Baris Baru di Bash Shell Script

  1. Bagaimana Cara Mengubah Cron Shell (sh ke Bash)?

  2. Bagaimana Mengevaluasi String sebagai Angka di Bash

  3. Cara Menggabungkan String di Bash