Menggunakan pembolehubah boolean dalam sintaks skrip shell, contoh, dan amalan terbaik
- 4957
- 505
- Marcus Kassulke
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
- Bash
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 # palsu12 is_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."Fi12345 jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi - ZSH
Proses mengisytiharkan dan menggunakan pembolehubah Boolean di ZSH adalah serupa dengan Bash:
is_valid = 0 # benar is_error = 1 # palsu12 is_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."Fi12345 jika [$ is_valid -eq 0]; Kemudian echo "input itu sah."lain echo" input tidak sah."Fi - Ksh
Di Kornshell (KSH), anda juga boleh mewakili pembolehubah boolean menggunakan nilai integer:
is_valid = 0 # benar is_error = 1 # palsu12 is_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."Fi12345 jika [$ 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:
- Kawal aliran skrip berdasarkan status keluar arahan
- Sahkan input pengguna atau periksa kewujudan fail atau direktori
- Urus pelaksanaan perintah atau fungsi bersyarat bersyarat
- Kawalan gelung, seperti sementara dan sehingga gelung
Petua dan amalan terbaik untuk bekerja dengan pembolehubah boolean
- Sentiasa gunakan 0 untuk benar dan 1 untuk palsu untuk mengekalkan konsistensi dengan konvensyen unix.
- Gunakan nama pemboleh ubah yang bermakna yang jelas menunjukkan tujuan pembolehubah boolean.
- Apabila menggunakan pembolehubah boolean dalam pernyataan bersyarat, selalu gunakan pengendali -eq untuk membandingkan nilai -nilai.
- 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 ... "fi123456789101112131415161718 | #!/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.
- « (Diselesaikan) Amaran APT-KEY DITERIMA. Urus fail keyring dalam dipercayai.GPG.D sebaliknya
- Cara Mengkonfigurasi Kor di Amazon S3 Bucket »