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_dir
jalur relatif. Namun, $search_dir
berisi 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_dir
dan $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?