Bagaimana cara memeriksa apakah ada File di bash

How Check If File Exists Bash



Ada beberapa cara untuk memeriksa ketersediaan file di Linux. Perintah tes dalam skrip bash adalah salah satu pendekatan utama untuk memeriksa keberadaan file.
Fokus panduan ini adalah membahas keberadaan file di sistem Anda melalui skrip bash:

Cara memeriksa keberadaan file menggunakan skrip bash:

1) Dengan memasukkan nama file di terminal:







Pertama, kita perlu membuat file skrip bash, gunakan perintah yang disebutkan di bawah ini:



$menyentuhtestfile.sh

Nama file yang saya buat adalah testfile.sh, ekstensi .sh menunjukkan file skrip shell:







Buka testfile.sh di editor teks apa pun. Kemudian tulis script tersebut, simpan dengan menekan save.

Salah satu caranya adalah dengan mencari file dengan meminta nama file dari pengguna di terminal.



Menggunakan -F untuk memeriksa keberadaan file.

Tulis skrip di bawah ini:

#!/bin/bash
dibuang 'Masukkan nama file Anda'
Bacafile baru1
jika [ -F '$file baru1' ]
kemudian
dibuang 'Berkas ditemukan'
lain
dibuang 'Berkas tidak ditemukan'
menjadi

Kembali ke terminal dan jalankan file untuk mencetak output:

./nama file.sh

Pesan izin ditolak akan ditampilkan di terminal.

Jadikan itu dapat dieksekusi dengan menjalankan perintah yang disebutkan di bawah ini:

$chmod+ x testfile.sh

Masukkan nama file, dan itu akan mencetak output:

2) Dengan memasukkan nama file saat menulis skrip:
Cara lain untuk menemukan file dengan memberikan nama file saat menulis skrip. Kami memiliki tiga cara untuk memeriksa ketersediaan file. Yang pertama menggunakan perintah test, yang kedua menggunakan if dengan ekspresi dalam tanda kurung siku, dan yang ketiga juga dengan if tetapi menggunakan tanda kurung siku ganda seperti yang ditunjukkan di bawah ini:

  1. uji EKSPRESI.
  2. jika [ EKSPRESI ]
  3. jika [[ EKSPRESI ]]

Mari kita pahami dengan contoh:

1) tes [ Ekspresi ]
Salin skrip yang diberikan dan tempel ke editor, simpan:

#!/bin/bash
nama file= file1
jika tes -F '$nama file';
kemudian
dibuang '$berkastelah menemukan.'
lain
dibuang '$berkasbelum ditemukan'
menjadi

Keluaran:

Karena tidak ada file seperti itu di direktori saya, oleh karena itu kode menampilkan pesan File tidak ditemukan.

2) jika [ Ekspresi ]

Salin skrip berikut untuk memeriksa apakah file ada atau tidak:

#!/bin/bash
nama file=filesaya.txt
jika [ -F '$nama file' ];
kemudian
dibuang '$nama filetelah menemukan.'
lain
dibuang 'nama file belum ditemukan'
menjadi

Keluaran:

3) jika [[ Ekspresi ]]

Salin skrip yang ditulis di bawah ini dan tempel di terminal:

#!/bin/bash
nama file=file tes
jika [[ -F '$nama file' ]];
kemudian
dibuang '$nama filetelah menemukan.'
lain
dibuang '$nama filebelum ditemukan'
menjadi

Keluaran:

Untuk memeriksa direktori:

3) Dengan memasukkan nama direktori saat menulis skrip

Menggunakan -D flag untuk memeriksa keberadaan direktori.

Dalam skrip yang disebutkan di bawah ini, dir11 adalah variabel tempat Anda menyimpan file yang Anda temukan; dalam contoh ini, saya ingin memeriksa nama direktori testDir ada atau tidak.

#!/bin/bash
dir11=testDir
jika [ -D '$dir11' ]
kemudian
dibuang 'Direktori telah ditemukan'
lain
dibuang 'Direktori belum ditemukan'
menjadi

Keluaran:

2) Dengan memasukkan nama file di terminal:
Saat Anda menjalankan perintah di terminal untuk memeriksa apakah direktori itu ada atau tidak, Anda diharuskan memasukkan nama direktori yang Anda cari:

#!/bin/bash
dibuang 'ketik nama direktori Anda.'
BacaDir1
jika [ -D 'Dir1' ]
kemudian
dibuang 'direktori telah ditemukan'
lain
dibuang 'direktori belum ditemukan'
menjadi

Keluaran:

Memeriksa file tanpa menggunakan pernyataan if:

Perintah tes dapat dijalankan tanpa pernyataan if. Ini hanya akan menampilkan output jika file tersebut ada; jika tidak, tidak akan ada output:

Tulis skrip:

  1. tes -Ffile saya.txt&& dibuang 'berkas telah ditemukan'

  2. [ -Ffile saya.txt] && dibuang '$berkastelah ditemukan.'

  3. [[ -Ffile saya.txt]] && dibuang '$berkastelah ditemukan.'

Keluaran:

Memeriksa direktori tanpa menggunakan pernyataan if:

Gunakan pernyataan yang disebutkan di bawah ini untuk memeriksa direktori ada atau tidak:

  1. [[ -DtestDir]] && dibuang 'direktori memang ada'

  2. 2) [ -DtestDir] && dibuang 'direktori memang ada'

Keluaran:

Memeriksa beberapa file/Direktori:

1) Memeriksa banyak file dengan pernyataan if:
Gunakan flag -a untuk memeriksa keberadaan berbagai file alih-alih menggunakan pernyataan if/else bersarang:

#!/bin/bash
jika [ -Ffile_baru.txt-ke -Ffile baru.txt];kemudian
dibuang 'Kedua file itu ada.'
menjadi

Cara lain adalah:

#!/bin/bash
jika [[ -Ffile_baru.txt&& -Ffile baru.txt]];kemudian
dibuang 'Kedua file itu ada.'
menjadi

Keluaran:

2) Memeriksa banyak file tanpa menggunakan pernyataan if:
Gunakan pernyataan berikut untuk memeriksa beberapa file secara bersamaan 1tanpa menggunakan if:

  1. [[ -Ffile_baru.txt&& -Ffile baru.txt]] && dibuangKedua file keluar.

  2. [[ -Ffile_baru.txt&& -Ffile baru.txt]] && dibuangKedua file keluar.

Keluaran:

Kesimpulan:

Artikel ini telah menunjukkan cara menggunakan skrip bash untuk memeriksa file atau direktori. Kami menggunakan opsi berbeda untuk memeriksa ketersediaan file. Pertama, kita menggunakan perintah test dengan flag yang berbeda. Kemudian kita mempelajari penggunaan if, nested if-else, dan tanpa pernyataan if untuk memeriksa file atau direktori. Kami juga melihat cara memeriksa banyak file atau direktori.