Saya mencoba untuk mendapatkan isi direktori menggunakan skrip shell.
Skrip saya adalah:
for entry in `ls $search_dir`; do
echo $entry
done
di mana $search_dirjalur relatif. Namun, $search_dirberisi banyak file dengan spasi putih dalam namanya. Dalam hal ini, skrip ini tidak berjalan seperti yang diharapkan.
Saya tahu saya bisa menggunakan for entry in *, tetapi itu hanya akan berfungsi untuk direktori saya saat ini.
Saya tahu saya dapat mengubah ke direktori itu, gunakan for entry in *kemudian ubah kembali, tetapi situasi khusus saya mencegah saya melakukan itu.
Saya memiliki dua jalur relatif $search_dirdan $work_dir, dan saya harus mengerjakan keduanya secara bersamaan, membacanya membuat / menghapus file di dalamnya dll.
Jadi apa yang harus saya lakukan sekarang?
PS: Saya menggunakan bash.
for entry in "$search_dir/*"tidak berhasil? Mengapa kita perlu menempatkan di/*luar tanda kutip?