Pengaturcaraan BASH

Bash if -z dan if -n untuk Uji Rentetan

Bash if -z dan if -n untuk Uji Rentetan

Pernyataan "if" dalam Bash dapat digunakan dengan parameter yang berbeza untuk melayani pelbagai tujuan. Setiap kali kita bekerja dengan rentetan dalam Bash, sangat penting bagi kita untuk memeriksa apakah rentetan itu kosong atau tidak sehingga tidak dapat menimbulkan masalah dalam pelaksanaan program kita. Bendera "-z" dan "-n" dapat digunakan dengan pernyataan "if" untuk menguji rentetan, dan kami akan menerangkan kepada anda bagaimana ini dapat dilakukan dalam artikel hari ini.

Catatan: Linux Mint 20 digunakan untuk menguji contoh berikut.

Kaedah Menggunakan Bash "if -z" dan "if -n" untuk Testing String

Untuk menjelaskan penggunaan Bash "if -z" dan "if -n" untuk rentetan ujian, kami ingin berkongsi dengan anda contoh senario berikut.

Contoh # 1: Menggunakan "if -n" untuk Menunjukkan bahawa String Null

Untuk menunjukkan bahawa rentetan dalam Bash adalah nol menggunakan pernyataan "if -n", kami akan melakukan langkah-langkah berikut:

Pertama, kami akan membuat fail Bash di direktori Home kami yang bernama Strings.sh, seperti yang ditunjukkan dalam gambar di bawah:

Setelah membuat fail ini, kami akan menaip skrip yang ditunjukkan pada gambar berikut dalam fail kami. Seperti setiap skrip Bash, baris pertama, i.e. "#!/ bin / bash, "adalah wajib. Kemudian kami telah menyatakan rentetan nol bernama "name". Rentetan nol di Bash dapat dinyatakan dengan menyamakan pemboleh ubah dengan "". Kemudian kita mempunyai pernyataan "if" diikuti oleh bendera "-n", yang kembali benar jika rentetan tidak nol. Kami telah menggunakan bendera ini untuk menguji rentetan "nama" kami, yang nol. Ini bermaksud bahawa syarat "if" tidak akan dilaksanakan kerana nilai bendera "-n" akan salah dalam hal ini. Oleh itu, kami juga mempunyai bahagian "lain" yang akan dilaksanakan dengan mencetak pesan di terminal.

Sekarang saatnya untuk melaksanakan file ini, yang dapat dilakukan dengan perintah yang ditunjukkan di bawah:

rentetan $ bash.sh

Oleh kerana rentetan yang kami nyatakan itu nol, itulah sebabnya bahagian "lain" dari skrip kami telah dijalankan, dan pesan yang sesuai telah dicetak di terminal seperti yang ditunjukkan pada gambar berikut:

Contoh # 2: Menggunakan "if -n" untuk Menunjukkan bahawa String tidak Null

Untuk menunjukkan bahawa rentetan dalam Bash tidak kosong menggunakan pernyataan "if -n", kami akan melakukan langkah-langkah berikut:

Kami akan menaip skrip berikut dalam fail Bash kami. Satu-satunya perubahan yang telah kami buat pada skrip yang kami buat di atas untuk senario ini adalah bahawa kali ini, kami telah menetapkan string "nama" nama yang valid. Ini bermaksud bahawa rentetan kita tidak kosong kali ini, yang menyiratkan bahawa bahagian "if" dari skrip harus dieksekusi.

Sekarang jalankan skrip sekali lagi, dan anda akan melihat bahawa skrip yang diubah suai berfungsi seperti yang kita mahukan dengan melaksanakan bahagian "if" skrip kali ini seperti yang ditunjukkan dalam gambar di bawah:

Contoh # 3: Menggunakan "if -z" untuk Menunjukkan bahawa String tidak Null

Untuk menunjukkan bahawa rentetan dalam Bash tidak kosong menggunakan pernyataan "if -z", kami akan melakukan langkah-langkah berikut:

Skrip untuk senario ini hampir sama dengan senario yang dibincangkan di atas. Kami hanya mengganti bendera "-n" dengan bendera "-z", tetapi kali ini, kami juga telah menukar bahagian skrip "if" dan "other" kerana bendera "-z" kembali benar jika string adalah batal. Ini bermaksud bahawa kali ini, bahagian "lain" dari skrip akan dijalankan kerana rentetan kami tidak kosong.

Anda boleh mengesahkannya dengan menjalankan skrip yang baru anda ubah, dan anda akan dapat melihat bahawa tali anda tidak kosong, seperti yang ditunjukkan dalam gambar di bawah:

Contoh # 4: Menggunakan "if -z" untuk Menunjukkan bahawa String Null

Untuk menunjukkan bahawa rentetan dalam Bash adalah nol menggunakan pernyataan "if -z", kami akan melakukan langkah-langkah berikut:

Kami telah menggunakan skrip yang sama untuk senario ini seperti yang kami lakukan untuk Contoh # 3. Satu-satunya perubahan yang telah kita buat pada skrip ini adalah kita menjadikan senar string kita menjadi kosong dengan memberikannya nilai nol, seperti yang anda lihat pada gambar yang ditunjukkan di bawah:

Sekarang ketika kita menjalankan skrip ini, bagian "if" dari skrip akan dieksekusi kerana rentetan itu nol, dan karenanya nilai bendera "-z" akan menjadi benar, seperti yang anda lihat dari gambar berikut:

Contoh # 5: Mengambil Input Pengguna String dan Mengujinya dengan "if -z"

Untuk menguji input rentetan yang diberikan oleh pengguna dengan pernyataan “if -z”, kami akan melakukan langkah-langkah berikut:

Kami akan menyalin skrip yang ditunjukkan dalam gambar di bawah dalam fail Bash kami. Di sini, kami meminta pengguna memasukkan string, dan kemudian kami menyimpan string itu dalam variabel "string" dengan perintah "baca". Kemudian kami menguji rentetan ini dengan pernyataan "if -z", yang akan dijalankan jika rentetan itu nol. Sekiranya demikian, skrip ini akan meminta pengguna memasukkan rentetan yang sah, dan kemudian akan mencetak rentetan itu. Namun, jika pengguna memasukkan rentetan yang valid untuk pertama kalinya, maka bagian "lain" dari skrip akan dijalankan.

Setelah menjalankan skrip Bash ini, ketika kami diminta memasukkan rentetan, kami sengaja memasukkan rentetan nol, i.e., kami hanya menekan butang Enter. Itulah sebabnya terminal kami meminta kami memasukkan rentetan yang sah, seperti yang ditunjukkan dalam gambar berikut:

Kali ini kami memasukkan string yang sah "halo," dan oleh itu terminal mencetak mesej yang sesuai seperti yang ditunjukkan dalam gambar di bawah:

Kesimpulannya

Artikel ini mengajarkan kepada anda semua kaedah yang berbeza dengan mana anda dapat menguji rentetan anda sebagai batal atau tidak semasa menggunakan bendera "-z" dan "-n" dengan pernyataan "if". Dengan menggunakan bendera ini, kita dapat menguji rentetan apa pun dan dengan itu menggunakannya dengan sangat cekap dalam skrip kita.

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...