Menggunakan pembolehubah boolean dalam sintaks skrip shell, contoh, dan amalan terbaik

Menggunakan pembolehubah boolean dalam sintaks skrip shell, contoh, dan amalan terbaik

Pembolehubah Boolean adalah bahagian penting dalam pengaturcaraan, kerana mereka mewakili nilai yang benar atau palsu dan sering digunakan untuk mengawal aliran skrip. Dalam skrip shell, pembolehubah boolean digunakan untuk membuat keputusan, mengendalikan gelung, dan menguruskan pelaksanaan bersyarat. Artikel ini menyediakan panduan komprehensif untuk mengisytiharkan dan menggunakan pembolehubah boolean dalam kerang yang berbeza, seperti bash, zsh, dan ksh. Kami juga akan meneroka kes penggunaan biasa untuk pembolehubah boolean dalam skrip shell, petua berkongsi dan amalan terbaik untuk bekerja dengan pembolehubah boolean, dan memberikan contoh penggunaan pembolehubah boolean dalam skrip shell dunia nyata.

Pengenalan

Dalam skrip shell, pembolehubah boolean biasanya diwakili sebagai bilangan bulat, dengan 0 mewakili Benar dan 1 mewakili salah. Konvensyen ini berdasarkan fakta bahawa perintah dan utiliti Unix biasanya mengembalikan status keluar 0 untuk menunjukkan kejayaan dan status bukan sifar untuk menunjukkan kegagalan.

Mengisytiharkan dan menggunakan pembolehubah boolean dalam kerang yang berbeza

  1. Bash
  2. Dalam bash, anda boleh mewakili pembolehubah boolean menggunakan nilai integer. Untuk mengisytiharkan pemboleh ubah Boolean, berikan nilai 0 untuk benar atau 1 untuk palsu:

    is_valid = 0 # benar is_error = 1 # palsu
    12is_valid = 0 # trueis_error = 1 # palsu

    Untuk menggunakan pemboleh ubah Boolean dalam pernyataan bersyarat, gunakan sintaks berikut:

    jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi
    12345jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi

  3. ZSH
  4. Proses mengisytiharkan dan menggunakan pembolehubah Boolean di ZSH adalah serupa dengan Bash:

    is_valid = 0 # benar is_error = 1 # palsu
    12is_valid = 0 # trueis_error = 1 # palsu

    Menggunakan pemboleh ubah Boolean dalam pernyataan bersyarat di ZSH:

    jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi
    12345jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi

  5. Ksh
  6. Di Kornshell (KSH), anda juga boleh mewakili pembolehubah boolean menggunakan nilai integer:

    is_valid = 0 # benar is_error = 1 # palsu
    12is_valid = 0 # trueis_error = 1 # palsu

    Menggunakan pemboleh ubah Boolean dalam pernyataan bersyarat dalam KSH:

    jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi
    12345jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi

Kes penggunaan biasa untuk pembolehubah boolean dalam skrip shell

Pembolehubah boolean sering digunakan dalam skrip shell untuk:

  1. Kawal aliran skrip berdasarkan status keluar arahan
  2. Sahkan input pengguna atau periksa kewujudan fail atau direktori
  3. Urus pelaksanaan perintah atau fungsi bersyarat bersyarat
  4. Kawalan gelung, seperti sementara dan sehingga gelung

Petua dan amalan terbaik untuk bekerja dengan pembolehubah boolean

  1. Sentiasa gunakan 0 untuk benar dan 1 untuk palsu untuk mengekalkan konsistensi dengan konvensyen unix.
  2. Gunakan nama pemboleh ubah yang bermakna yang jelas menunjukkan tujuan pembolehubah boolean.
  3. Apabila menggunakan pembolehubah boolean dalam pernyataan bersyarat, selalu gunakan pengendali -eq untuk membandingkan nilai -nilai.
  4. Dalam skrip kompleks, pertimbangkan untuk menggunakan fungsi untuk merangkum operasi boolean yang berkaitan dan meningkatkan kebolehbacaan.

Contoh penggunaan pembolehubah boolean dalam skrip shell dunia nyata

Berikut adalah contoh skrip bash yang menggunakan pembolehubah Boolean untuk mengawal gelung sementara:

#!/bin/bash is_running = 0 counter = 0 sementara [$ is_running -eq 0]; melakukan kaunter = $ ((kaunter + 1)) echo "menjalankan lelaran $ kaunter" jika [$ counter -ge 5]; kemudian is_running = 1 fi tidur 1 selesai echo "gelung telah selesai."
1234567891011121314151617#!/bin/bash is_running = 0counter = 0 sementara [$ is_running -eq 0]; melakukan kaunter = $ ((kaunter + 1)) echo "menjalankan lelaran $ kaunter" jika [$ counter -ge 5]; maka is_running = 1 fi tidur 1done echo "gelung telah selesai."

Dalam contoh ini, 'adalah berlari' Pemboleh ubah boolean pada mulanya ditetapkan ke '0' (Benar), menyebabkan gelung sementara untuk dilaksanakan. Gelung itu meningkatkan 'Kaunter' pemboleh ubah dengan setiap lelaran dan pemeriksaan jika 'Kaunter' telah mencapai atau melebihi nilai 5. Sekiranya keadaan dipenuhi, 'adalah berlari' Pemboleh ubah ditetapkan ke '1' (palsu), menamatkan gelung.

Contoh lain ialah skrip shell yang memeriksa jika fail wujud dan menetapkan pembolehubah boolean dengan sewajarnya:

#!/bin/bash filename = "Contoh.txt "file_exists = 1 if [-e" $ filename "]; kemudian file_exists = 0 echo" Fail $ FileName wujud."lain echo" fail $ fail tidak ada."fi jika [$ file_exists -eq 0]; kemudian echo" melakukan operasi pada fail sedia ada ... " # tambah operasi fail anda di sini lain echo" melangkau operasi fail ... "fi
123456789101112131415161718#!/bin/bash filename = "Contoh.txt "file_exists = 1 if [-e" $ filename "]; kemudian file_exists = 0 echo" Fail $ FileName wujud."lain echo" fail $ fail tidak ada."fi jika [$ file_exists -eq 0]; kemudian echo" melakukan operasi pada fail sedia ada ... " # tambah operasi fail anda di sini echo" melangkau operasi fail ... "FI

Dalam skrip ini, file_exists Pembolehubah Boolean ditetapkan berdasarkan kewujudan fail yang ditentukan. Skrip kemudian menggunakan pembolehubah ini untuk melaksanakan operasi fail secara kondusif jika fail wujud.

Kesimpulan

Menguasai pembolehubah boolean dalam skrip shell adalah penting untuk menulis skrip yang cekap, mantap, dan dipelihara. Dengan memahami sintaks untuk mengisytiharkan dan menggunakan pembolehubah boolean dalam kerang yang berbeza, anda boleh membuat skrip yang membuat keputusan, mengendalikan gelung, dan menguruskan pelaksanaan bersyarat dengan berkesan. Sentiasa ingat untuk menggunakan nama pemboleh ubah yang jelas, mengekalkan konsistensi dengan konvensyen UNIX, dan ikuti amalan terbaik untuk memastikan skrip anda mudah dibaca dan difahami.