Pengaturcaraan BASH

Bash if -e dan -s dan Operator Ujian Fail lain

Bash if -e dan -s dan Operator Ujian Fail lain

Semasa bekerja dengan fail dalam sistem operasi apa pun, adalah wajib bagi pengguna untuk menguji fail tersebut untuk aspek tertentu seperti pemilikannya, hak akses, kandungan, kewujudan, dll. Aspek-aspek ini dapat dijelaskan sambil menggabungkan pernyataan “if” dengan pelbagai pengendali ujian fail di Bash. The "if -e" dan "if -s" adalah pengendali seperti itu di Bash, digunakan untuk menguji keberadaan file. Perbezaan antara keduanya adalah yang pertama hanya menguji keberadaan file, sedangkan yang kedua juga memeriksa apakah ada isi dalam file tersebut atau tidak. Hari ini, kami akan cuba memahami penggunaan kedua-dua pengendali ini, bersama dengan beberapa pengendali ujian fail lain di Bash.

Catatan: Untuk menunjukkan penggunaan pengendali ujian fail di Bash, kami telah menggunakan Linux Mint 20.

Contoh Menggunakan Operator Ujian Fail di Bash

Ada berbagai cara di mana pengendali ujian fail "if -e" dan "if -s" dapat digunakan. Untuk menjelaskan penggunaannya, kami akan berkongsi beberapa contoh dengan anda.

Contoh Menggunakan Operator "if -e"

Untuk menggunakan operator "if -e" di Bash, anda perlu mengikuti langkah-langkah berikut:

Pertama, kami telah membuat fail teks kosong bernama Test.txt di direktori Utama kami. Kemudian kami membuat fail bash bernama FileTestOperators.sh dalam direktori yang sama. Setelah membuat fail ini, kami mengetik skrip yang ditunjukkan pada gambar berikut dalam fail kami. Dalam skrip bash ini, dinyatakan pemboleh ubah bernama "file" dan memberikannya file teks kami bernama Test.txt sebagai nilainya. Kemudian kita mempunyai pernyataan "if -e", yang menghasilkan output "benar" jika ada fail yang ditentukan.

Untuk menguji skrip kami, kami akan menjalankannya menggunakan arahan yang dinyatakan di bawah:

$ bash FileTestOperators.sh

Dalam kes kami, kerana fail teks ada, itulah sebabnya output skrip kami akan benar, seperti yang ditunjukkan pada gambar berikut:

Contoh Menggunakan Operator "if -s"

Untuk menggunakan operator "if -s" di Bash, anda harus melakukan langkah-langkah yang disenaraikan di bawah:

Untuk contoh ini, skrip bash kami sama seperti yang kami gunakan di atas. Kami baru saja menukar pernyataan "if -e" menjadi "if -s". Kami juga telah menggunakan Ujian fail teks kosong yang sama.txt.

Sekarang, ketika kita menjalankan skrip ini, outputnya akan salah kerana operator "if -s" kembali benar jika fail ada dan juga jika tidak kosong. Oleh kerana dalam kes kami, walaupun file tersebut ada, masih kosong, itulah sebabnya output kami ternyata salah seperti yang ditunjukkan pada gambar berikut:

Untuk menjadikan bendera ini menjadi benar, kami akan menulis beberapa teks palsu dalam fail teks kami, seperti yang ditunjukkan di bawah:

Kemudian kita jalankan skrip bash kita lagi, dan kali ini outputnya akan benar, seperti yang ditunjukkan pada gambar berikut kerana fail teks memiliki beberapa teks di dalamnya sekarang.

Contoh Menggunakan Operator Ujian Fail Lain

Selain pengendali "if -e" dan "if -s", terdapat juga pengendali ujian fail lain. Di bawah ini kami akan berkongsi dengan anda beberapa pengendali ujian fail yang paling penting selain daripada yang dibincangkan di atas.

Contoh Menggunakan Operator "if -d"

Untuk menggunakan operator "if -d" di Bash, anda harus melakukan langkah-langkah yang disenaraikan di bawah:

Untuk contoh ini, skrip bash kami sama seperti yang kami gunakan di atas. Kami baru saja menukar pernyataan "if -s" menjadi "if -d". Kami juga telah menggunakan Ujian fail teks yang sama.txt.

Pengendali "if -d" kembali benar jika fail anda adalah direktori, jika tidak, ia akan menjadi salah. Oleh kerana fail teks kami bukan direktori, oleh itu, output akan salah, seperti yang ditunjukkan dalam gambar berikut:

Contoh Menggunakan Operator "if -h"

Untuk menggunakan operator "if -h" di Bash, anda perlu mengikuti langkah-langkah berikut:

Untuk contoh ini, skrip bash kami sama seperti yang kami gunakan di atas. Kami baru saja menukar pernyataan "if -d" menjadi "if -h". Namun, kami telah menggunakan fail yang berbeza untuk menguji kali ini, yang sebenarnya adalah pautan simbolik bernama NewBash.sh.

Pengendali "if -h" kembali benar jika fail anda adalah pautan simbolik, jika tidak, ia akan palsu. Oleh kerana fail ujian kami adalah pautan simbolik, oleh itu, output akan benar, seperti yang ditunjukkan dalam gambar berikut:

Contoh Menggunakan Operator "if -r"

Untuk menggunakan operator "if -r" di Bash, anda perlu mengikuti langkah-langkah berikut:

Untuk contoh ini, skrip bash kami sama seperti yang kami gunakan di atas. Kami baru saja menukar pernyataan "if -h" menjadi "if -r". Kami juga telah menggunakan Ujian fail teks yang sama.txt.

Keluaran pengendali "if -r" akan benar jika pengguna semasa dapat membaca fail, jika tidak, ia akan salah. Oleh kerana fail teks kami dapat dibaca oleh kami, oleh itu, outputnya akan benar, seperti yang ditunjukkan dalam gambar berikut:

Dengan cara yang sama, anda boleh menggunakan operator "if -w" dan "if -x" untuk memeriksa sama ada fail boleh ditulis dan boleh dilaksanakan oleh pemilik semasa, masing-masing.

Contoh Menggunakan Operator "if -O"

Untuk menggunakan operator "if -O" di Bash, anda harus melakukan langkah-langkah yang disenaraikan di bawah:

Untuk contoh ini, skrip bash kami sama seperti yang kami gunakan di atas. Kami baru saja menukar pernyataan "if -r" menjadi "if -O". Kami juga telah menggunakan Ujian fail teks yang sama.txt.

Keluaran pengendali "if -O" akan benar jika pengguna semasa memiliki fail, jika tidak, ia akan salah. Oleh kerana fail teks kami dimiliki oleh kami, oleh itu, outputnya akan benar seperti yang ditunjukkan dalam gambar berikut:

Kesimpulannya

Artikel ini memberi penerangan kepada pembaca mengenai penggunaan pengendali ujian fail yang berbeza di Bash menggunakan sistem operasi Linux. Dengan menggunakan pengendali ujian fail ini, pengguna akan senang menggunakan fail tanpa sebarang masalah. Terdapat beberapa pengendali ujian fail lain, yang boleh digunakan untuk tujuan yang berbeza. Namun, yang dibincangkan dalam artikel ini paling sering digunakan.

Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...
Tutorial Unity3D
Pengenalan Unity 3D Unity 3D adalah enjin pengembangan permainan yang kuat. Ini adalah platform silang yang memungkinkan anda membuat permainan untuk ...