Bandingkan rentetan dalam bash
- 599
- 93
- Clarence Powlowski
Keperluan untuk membandingkan rentetan dalam skrip bash agak biasa dan boleh digunakan untuk memeriksa syarat -syarat tertentu sebelum meneruskan ke bahagian seterusnya skrip. Rentetan boleh menjadi urutan watak. Untuk menguji jika dua rentetan adalah sama, kedua -dua rentetan mesti mengandungi aksara yang sama dan mengikut urutan yang sama. Ia boleh menjadi perkataan atau keseluruhan ayat. Sebagai contoh, rentetan satu
adalah sama dengan rentetan satu
tetapi tidak sama dengan rentetan dua
. Dapatkan idea itu?
Dalam panduan ini, kami akan menunjukkan kepada anda bagaimana membandingkan rentetan dalam shell bash pada sistem linux. Kami akan menunjukkan ini dalam konteks skrip yang mudah jika/lain bash sehingga anda dapat melihat bagaimana ujian untuk keadaan ini akan berfungsi ketika membangunkan skrip, tetapi kami juga akan menunjukkan bagaimana perbandingan yang sama dapat dilakukan di terminal baris arahan.
Dalam tutorial ini anda akan belajar:
- Cara membandingkan rentetan di bash
- Contoh jika/lain skrip bash yang membandingkan rentetan
Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Mana -mana distro Linux |
Perisian | N/a |
Yang lain | Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah. |
Konvensyen | # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak |
Bandingkan jika dua rentetan sama
Anda boleh membuka terminal pada sistem anda dan menggunakan beberapa contoh ini untuk merasakan bagaimana pengendali bash berfungsi ketika membandingkan rentetan.
Anda boleh menggunakan sintaks berikut untuk membandingkan dua rentetan.
$ ["epal" = "epal"] $ echo $? 0
Nilai yang dikembalikan 0
bermaksud benar. Dalam erti kata lain, rentetan sepadan (seperti yang kita dapat melihat sendiri).
Mari cuba yang lain.
$ ["epal" = "oren"] $ echo $? 1
Dalam contoh ini, epal
tidak sama oren
, Jadi nilai 1
(palsu) dikembalikan. Contoh yang lebih kompleks adalah yang terbaik ditunjukkan dalam konteks skrip bash, yang kami tutupi di bahagian seterusnya.
Contoh skrip bash untuk membandingkan rentetan
Dalam skrip bash, biasanya anda akan menyimpan satu atau kedua -dua rentetan anda sebagai pembolehubah sebelum membandingkannya. Inilah contoh mudah.
#!/bin/bash string1 = "epal" string2 = "oren" jika ["$ string1" = "$ string2"]; Kemudian echo "Dua rentetan sama."lain echo" kedua -dua rentetan tidak sama."Fi
Salinan Melaksanakan skrip ini akan menghasilkan output berikut.
Kedua -dua rentetan tidak sama.
Tetapi =
Bukankah satu -satunya pengendali yang tersedia untuk kami. Kami juga boleh menguji untuk melihat sama ada dua rentetan tidak sama dengan !=
pengendali.
#!/bin/bash string1 = "epal" string2 = "oren" jika ["$ string1" != "$ string2"]; Kemudian echo "rentetan berbeza.rentetan "lain echo" tidak berbeza."Fi
Salinan Melaksanakan skrip ini akan menghasilkan output berikut.
Rentetan berbeza.
Ada juga -z
untuk menguji jika panjang rentetan adalah 0, dan -n
untuk menguji jika panjang rentetan bukan sifar.
#!/bin/bash string = "" if [[-z $ string]]; Kemudian echo "rentetan kosong."lain echo" rentetan tidak kosong."Fi
Salinan Melaksanakan skrip ini akan menghasilkan output berikut.
Rentetannya kosong.
Dan skrip yang sama dengan -n
dan rentetan bukan sifar sebaliknya:
#!/bin/bash string = "hello" jika [[-n $ string]]; Kemudian echo "rentetan tidak kosong."lain echo" rentetan kosong."Fi
Salinan Melaksanakan skrip ini akan menghasilkan output berikut.
Rentetan tidak kosong.
Kesimpulan
Dalam panduan ini, kita melihat bagaimana membandingkan rentet. Fungsi ini tentu saja boleh diperluaskan kepada skrip yang lebih mantap yang membaca input dari pengguna atau menggunakan pengendali kes, dll.
Ini semua kaedah perbandingan yang anda perlukan untuk membandingkan rentetan dalam bash. Lebih banyak wujud apabila membandingkan nombor, seperti -Lt
(kurang daripada) dan -gt
(lebih besar daripada) pengendali. Tetapi kami menutupnya dengan lebih terperinci dalam panduan skrip bash kami.
Tutorial Linux Berkaitan:
- Skrip bash: Contoh perbandingan rentetan
- Asas Editor Vim di Linux
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Menguasai Gelung Skrip Bash
- Pemboleh ubah bash khas dengan contoh
- Sistem Hung Linux? Cara melarikan diri ke baris arahan dan ..
- Gelung bersarang dalam skrip bash
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
- Perkara yang hendak dipasang di Ubuntu 20.04
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux