Catatan: - $ USER akan mencetak nama pengguna pengguna log masuk semasa.
Sekiranya anda ingin tahu versi bash shell apa yang dipasang dalam sistem, kami dapat memeriksanya menggunakan perintah berikut.
$ bash - penukaranKeluaran Versi Bash.
Membuat dan Melaksanakan Skrip Bash
Mari kita mulakan dengan membuat fail mudah menggunakan editor pilihan anda. Bagi saya, editor vi lebih selesa. Untuk membuat fail dapat dilaksanakan, kita perlu menambahkan shebang (!#) dan lokasi jurubahasa bash pada awal skrip. Saya telah membuat teks.txt file dan tambahkan ke bash_demo dir di dir rumah saya yang mengandungi beberapa teks untuk tujuan demo.
$ sentuh bash_demo.sh$ vi bash_demo.sh
Tambahkan baris berikut dalam editor teks anda untuk contoh demo setelah membuat fail; jika belum, editor akan membuat fail baru semasa menulis dan berhenti.
#!/ bin / bashteks cp.txt / tmp /
echo “Fail disalin."
Kita boleh melaksanakan skrip menggunakan ./ sebelum fail skrip, yang menentukan file dir semasa.
$ ./ bash_demo.shSemasa kita melaksanakan skrip, kesalahan berikut akan dilemparkan di terminal kita.
Pelaksanaan awal fail bash.
Apabila kami membuat fail secara lalai, pengguna tidak memiliki izin pelaksanaan untuk fail tersebut. Untuk memberikan kebenaran pelaksanaan kepada pengguna, perintah berikut harus dilaksanakan.
$ chmod + x bash_demo.shKeluaran setelah kebenaran diberikan.
Salin fail sahaja dari direktori tertentu
Untuk mengambil semua fail dan dir dari jalan tertentu, kami akan menggunakan loop dalam skrip kemudian menyaring satu-satunya fail menggunakan kondisi jika. Dalam contoh di bawah ini, kita menjalankan perintah cp yang hanya dijalankan jika iterator adalah file yang ditentukan -f flag.
#!/ bin / bashdpath = / var / log / nginx / *
untuk FILE dalam $ dpath
buat
jika [[-f $ FILE]]
kemudian
cp $ FILE / rumah / $ PENGGUNA /
yang lain
echo “Tidak ada fail di jalan yang diberikan."
fi
selesai
Salin semua fail sambungan tertentu
Dalam contoh ini, kami akan menyalin semua fail dengan .peluasan log. Kita perlu menambah *.log ke jalan sehingga mengulangi satu-satunya fail dengan .sambungan log untuk gelung sahaja.
#!/ bin / bashuntuk FILE dalam / var / log / nginx / *.balak
buat
cp $ FILE / rumah / $ PENGGUNA /
selesai
Salin semua Fail, Termasuk Direktori
Dalam contoh ini, kami akan menyalin semua fail, termasuk direktori, secara berulang. Untuk itu, kita hanya perlu menambahkan perintah -R cp di mana -R menentukan pengambilan direktori secara berulang.
#!/ bin / bashuntuk FILE dalam / var / log / *
buat
cp -R $ FILE / rumah / $ PENGGUNA /
selesai
Salin fail dari jalan yang ditentukan pengguna
Dalam contoh ini, kami akan menyalin fail dari dir yang ditentukan pengguna. Untuk melakukannya, kami akan menggunakan perintah baca untuk meminta jalan dari pengguna kemudian memeriksa apakah pengguna memberikan jalan ke dir atau tidak, yang dilakukan oleh bendera -d dalam keadaan. Setelah mengesahkan dir, kami akan menggunakan loop for untuk mengulangi semua fail dan dir di dalam jalan yang diberikan, kemudian sekali lagi menyaring satu-satunya fail menggunakan keadaan if. Sekiranya keadaan sepadan, perintah cp berikut akan dijalankan.
#!/ bin / bashecho “Sila berikan jalan ke dir."
jalan membaca
jika [[-d $ path]]
kemudian
untuk FILE dalam $ path / *
buat
jika [[-f $ FILE]]
kemudian
cp $ FILE / rumah / $ PENGGUNA /
yang lain
echo “Tidak ada fail di jalan yang diberikan."
fi
selesai
yang lain
echo "Jalan ke dir diperlukan"
fi
Di dir rumah saya, saya mempunyai fail dan dir berikut.
Keluaran semasa memberikan jalan ke fail.
Keluaran semasa menyediakan jalan lokasi dir.
Setelah melaksanakan file skrip, kita dapat memeriksa output dalam dir yang telah ditentukan dalam skrip. Dalam kes saya, saya telah menyalin fail di dir rumah saya, dan berikut adalah hasilnya.
Kesimpulannya
Dalam artikel ini, kita belajar tentang cara menyalin fail menggunakan skrip bash. Kita boleh menggunakan banyak operasi lain seperti gelung, jika-lain, dll. Skrip Bash lebih berkesan apabila bekerja dengan pelbagai arahan untuk melakukan tugas tertentu. Saya harap anda menyukai artikel ini menyalin fail menggunakan skrip bash.