Fokus panduan ini adalah untuk membincangkan keberadaan fail dalam sistem anda melalui skrip bash:
Cara memeriksa keberadaan fail menggunakan skrip bash:
1) Dengan memasukkan nama fail di terminal:
Pertama, kita perlu membuat fail skrip bash, menggunakan arahan yang disebutkan di bawah:
$ testfile sentuh.shNama fail yang saya buat adalah “testfile.sh ", yang".lanjutan sh ”menunjukkan fail skrip shell:
Buka “testfile.sh ”di mana-mana penyunting teks. Kemudian tulis skrip, simpan dengan menekan "simpan".
Salah satu cara adalah dengan mencari fail dengan meminta nama fail dari pengguna di terminal.
Gunakan "-f"Untuk memeriksa keberadaan fail.
Tulis skrip di bawah:
#!/ bin / bashgema "Masukkan nama fail anda"
baca newfile1
jika [-f "$ newfile1"]
kemudian
echo "Fail dijumpai"
yang lain
echo "Fail tidak dijumpai"
fi
Kembali ke terminal dan jalankan fail untuk mencetak output:
./nama fail.shMesej ditolak kebenaran akan dipaparkan di terminal.
Jadikannya dapat dilaksanakan dengan melaksanakan perintah yang disebutkan di bawah:
$ chmod + x testfile.sh
Masukkan nama fail, dan ia akan mencetak output:
2) Dengan memasukkan nama fail semasa menulis skrip:
Cara lain untuk mencari fail dengan memberikan nama fail semasa menulis skrip. Kami mempunyai tiga cara untuk memeriksa ketersediaan fail. Yang pertama menggunakan perintah "test", yang kedua menggunakan "if" dengan ekspresi dalam tanda kurung siku, dan yang ketiga juga dengan "jika" tetapi tanda kurung siku ganda seperti yang ditunjukkan di bawah:
- "Uji EKSPRESI."
- "Jika [EKSPRESI]"
- "Jika [[EKSPRESI]]"
Mari fahami dengan contoh:
1) ujian [Ekspresi]
Salin skrip yang diberikan dan tempelkan ke editor, simpan:
nama fail = fail1
jika ujian -f "$ nama fail";
kemudian
echo "$ file telah dijumpai."
yang lain
echo "$ file belum dijumpai"
fi
Pengeluaran:
Oleh kerana tidak ada fail seperti itu di dalam direktori saya, oleh itu kod tersebut memaparkan mesej "Fail tidak dijumpai".
2) jika [Ungkapan]
Salin skrip berikut untuk memeriksa apakah fail ada atau tidak:
#!/ bin / bashnama fail = myfile.txt
jika [-f "$ nama fail"];
kemudian
echo "$ nama fail telah dijumpai."
yang lain
echo "nama fail belum dijumpai"
fi
Pengeluaran:
3) jika [[Ekspresi]]
Salin skrip yang ditulis di bawah dan tampal di terminal:
#!/ bin / bashnama fail = testfile
jika [[-f "$ nama fail"]];
kemudian
echo "$ nama fail telah dijumpai."
yang lain
echo "$ nama fail belum dijumpai"
fi
Pengeluaran:
Untuk memeriksa direktori:
3) Dengan memasukkan nama direktori semasa menulis skrip
Menggunakan "-dBendera untuk memeriksa keberadaan direktori.
Dalam skrip yang disebutkan di bawah, "dir11" adalah pemboleh ubah di mana anda menyimpan fail yang anda cari; dalam contoh ini, saya ingin memeriksa nama direktori "testDir" ada atau tidak.
#!/ bin / bashdir11 = testDir
jika [-d "$ dir11"]
kemudian
echo "Direktori telah dijumpai"
yang lain
echo "Direktori belum dijumpai"
fi
Pengeluaran:
2) Dengan memasukkan nama fail di terminal:
Semasa anda menjalankan perintah di terminal untuk memeriksa apakah direktori itu ada atau tidak, anda diminta memasukkan nama direktori yang anda cari:
echo "taipkan nama direktori anda."
baca Dir1
jika [-d "Dir1"]
kemudian
echo "direktori telah dijumpai"
yang lain
echo "direktori belum dijumpai"
fi
Pengeluaran:
Memeriksa fail tanpa menggunakan pernyataan “if”:
Perintah "test" dapat dijalankan tanpa pernyataan "if". Ia hanya akan memaparkan output jika fail itu ada; jika tidak, tidak akan ada output:
Tulis skrip:
- uji -f myfile.txt && echo "fail telah dijumpai"
- [-f myfile.txt] && echo "$ file telah dijumpai."
- [[-f myfile.txt]] && echo "$ file telah dijumpai."
Pengeluaran:
Memeriksa direktori tanpa menggunakan pernyataan "if":
Gunakan pernyataan yang disebutkan di bawah ini untuk memeriksa direktori yang ada atau tidak:
- [[-d testDir]] && echo "memang ada direktori"
- 2) [-d testDir] && echo "memang ada direktori"
Pengeluaran:
Memeriksa banyak fail / Direktori:
1) Memeriksa beberapa fail dengan pernyataan "if":
Gunakan bendera "-a" untuk memeriksa keberadaan berbagai file dan bukannya menggunakan pernyataan bersarang "if / else":
jika [-f new_file.txt -a -f newfile.txt]; kemudian
echo "Kedua-dua fail ada."
fi
Cara lain ialah:
#!/ bin / bashsekiranya [[-f new_file.txt && -f newfile.txt]]; kemudian
echo "Kedua-dua fail ada."
fi
Pengeluaran:
2) Memeriksa banyak fail tanpa menggunakan pernyataan “if”:
Gunakan pernyataan berikut untuk memeriksa banyak fail secara serentak 1 tanpa menggunakan "if":
- [[-f new_file.txt && -f newfile.txt]] && echo “Kedua-dua fail keluar."
- [[-f_file baru.txt && -f newfile.txt]] && echo “Kedua-dua fail keluar."
Pengeluaran:
Kesimpulan:
Artikel ini telah menunjukkan cara menggunakan skrip bash untuk memeriksa file atau direktori. Kami menggunakan pelbagai pilihan untuk memeriksa ketersediaan fail. Pertama, kita menggunakan perintah "test" dengan bendera yang berbeza. Kemudian kami belajar penggunaan "if", bersarang "if-else", dan tanpa pernyataan "if" untuk memeriksa fail atau direktori. Kami juga melihat bagaimana memeriksa banyak fail atau direktori.