Cara memeriksa sama ada fail tidak wujud di bash
- 4396
- 1010
- Noah Torp
Bash, atau Bourne Again Shell, adalah shell UNIX yang popular yang digunakan untuk tugas skrip dan automatik di Linux, MacOS, dan lain-lain sistem seperti Unix. Satu tugas biasa dalam skrip bash adalah memeriksa sama ada fail tidak wujud. Ini berguna untuk tugas -tugas seperti membuat fail baru hanya jika mereka belum wujud, melangkaui fail sedia ada semasa pemindahan fail, atau mencetuskan tindakan tertentu berdasarkan kehadiran fail. Dalam artikel ini, kami akan meneroka pelbagai cara untuk memeriksa sama ada fail tidak wujud di Bash.
Kaedah 1: Menggunakan 'ujian
'Perintah
The 'Ujian' Perintah di Bash adalah utiliti yang mudah dan terbina dalam yang menilai ekspresi bersyarat. Ia boleh digunakan untuk memeriksa pelbagai keadaan, termasuk kewujudan fail. Untuk memeriksa sama ada fail tidak wujud, gunakan sintaks berikut:
Salin kod jika ujian ! -e file_path kemudian # melakukan tindakan jika fail tidak wujud fi12345 | Ujian CODEIF salin ! -e file_paththen # melaksanakan tindakan jika fail tidak wujud |
Dalam contoh ini, '-e' Pemeriksaan bendera untuk kewujudan fail, sementara '!' menafikan hasilnya. Sekiranya fail tidak wujud, arahan dalam 'jika' Blok akan dilaksanakan.
Kaedah 2: Menggunakan kurungan persegi
The 'Ujian' Perintah juga boleh diwakili menggunakan kurungan persegi ('[' dan ']'), yang lebih biasa dalam skrip bash. Untuk memeriksa sama ada fail tidak wujud menggunakan kurungan persegi, gunakan sintaks berikut:
Sekiranya [ ! -e file_path] maka # melakukan tindakan jika fail tidak wujud fi1234 | Sekiranya [ ! -e file_path] maka # melaksanakan tindakan jika fail tidak wujud |
Ini bersamaan dengan fungsional dengan 'Ujian' Contoh arahan di atas.
Kaedah 3: Menggunakan kurungan Double Square
Bash juga menyokong kurungan Double Square ('[' dan ']]') untuk ungkapan bersyarat. Ini adalah sintaks yang lebih moden dan lebih disukai untuk banyak pengguna, kerana ia memberikan ciri tambahan dan lebih memaafkan dengan jarak. Untuk memeriksa sama ada fail tidak wujud menggunakan kurungan Double Square, gunakan sintaks berikut:
jika [[ ! -e file_path]] maka # melakukan tindakan jika fail tidak wujud fi1234 | jika [[ ! -e file_path]] maka # melakukan tindakan jika fail tidak wujud |
Ini bersamaan dengan fungsi sebelumnya tetapi menggunakan sintaks pendakap dua persegi moden yang lebih moden.
Kaedah 4: Menggunakan 'jika
'Perintah dengan'-f
' bendera
Dalam beberapa kes, anda mungkin ingin menyemak secara khusus untuk tidak ada fail biasa (berbanding dengan direktori atau jenis fail lain). Untuk melakukan ini, gunakan '-f' bendera bukannya '-e' bendera. Ini hanya akan kembali benar jika fail tidak wujud atau bukan fail biasa:
Sekiranya [ ! -f file_path] maka # melakukan tindakan jika fail tidak wujud atau bukan fail biasa fi1234 | Sekiranya [ ! -f file_path] maka # melakukan tindakan jika fail tidak wujud atau bukan failfi biasa |
Kesimpulan
Dalam artikel ini, kami telah membincangkan empat kaedah yang berbeza untuk memeriksa jika fail tidak wujud di Bash. Kaedah ini boleh digunakan untuk pelbagai tugas, seperti membuat fail baru hanya jika mereka belum wujud atau mencetuskan tindakan tertentu berdasarkan kehadiran fail. Bergantung pada keutamaan dan keperluan anda, anda boleh memilih mana -mana kaedah yang digariskan di atas untuk menyemak tidak ada fail dalam skrip bash anda.
- « VMSTAT - Memori memori & proses di Linux dengan contoh
- Menyediakan Redis untuk Penyimpanan Sesi PHP di Linux »