Pengaturcaraan BASH

Bagaimana untuk memeriksa sama ada Fail wujud dalam bash

Bagaimana untuk memeriksa sama ada Fail wujud dalam bash
Terdapat beberapa cara untuk memeriksa ketersediaan fail di Linux. Perintah "test" dalam skrip bash adalah salah satu pendekatan utama untuk memeriksa keberadaan file.
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.sh

Nama 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 / bash
gema "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.sh

Mesej 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:

  1. "Uji EKSPRESI."
  2. "Jika [EKSPRESI]"
  3. "Jika [[EKSPRESI]]"

Mari fahami dengan contoh:

1) ujian [Ekspresi]
Salin skrip yang diberikan dan tempelkan ke editor, simpan:

#!/ bin / bash
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 / bash
nama 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 / bash
nama 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 / bash
dir11 = 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:

#!/ bin / bash
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:

  1. uji -f myfile.txt && echo "fail telah dijumpai"

  2. [-f myfile.txt] && echo "$ file telah dijumpai."

  3. [[-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:

  1. [[-d testDir]] && echo "memang ada direktori"

  2. 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":

#!/ bin / bash
jika [-f new_file.txt -a -f newfile.txt]; kemudian
echo "Kedua-dua fail ada."
fi

Cara lain ialah:

#!/ bin / bash
sekiranya [[-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":

  1. [[-f new_file.txt && -f newfile.txt]] && echo “Kedua-dua fail keluar."

  2. [[-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.

Port Sumber Terbuka Mesin Permainan Komersial
Rekreasi enjin permainan sumber terbuka dan bebas platform boleh digunakan untuk bermain lama dan juga beberapa tajuk permainan yang baru-baru ini. Ar...
Permainan Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar anda ketika menggunakan Linux-ia juga dapat menjadi sumber hiburan kerana anda dapat menggunakannya untuk m...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Sekiranya anda suka bermain permainan di Linux dengan gamepad dan bukannya sistem input papan kekunci dan tetikus biasa, ada beberapa aplikasi berguna...