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/bashdibuang '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.shPesan 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:
- uji EKSPRESI.
- jika [ EKSPRESI ]
- jika [[ EKSPRESI ]]
Mari kita pahami dengan contoh:
1) tes [ Ekspresi ]
Salin skrip yang diberikan dan tempel ke editor, simpan:
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/bashnama 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/bashnama 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/bashdir11=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:
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:
- tes -Ffile saya.txt&& dibuang 'berkas telah ditemukan'
- [ -Ffile saya.txt] && dibuang '$berkastelah ditemukan.'
- [[ -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:
- [[ -DtestDir]] && dibuang 'direktori memang ada'
- 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:
jika [ -Ffile_baru.txt-ke -Ffile baru.txt];kemudian
dibuang 'Kedua file itu ada.'
menjadi
Cara lain adalah:
#!/bin/bashjika [[ -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:
- [[ -Ffile_baru.txt&& -Ffile baru.txt]] && dibuangKedua file keluar.
- [[ -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.