Cara memeriksa sama ada fail tidak wujud di bash

Cara memeriksa sama ada fail tidak wujud di bash

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 fi
12345Ujian 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 fi
1234Sekiranya [ ! -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 fi
1234jika [[ ! -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 fi
1234Sekiranya [ ! -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.