Tôi đang cố gắng lấy nội dung của một thư mục bằng cách sử dụng tập lệnh shell.Cách lấy danh sách tệp trong thư mục trong tập lệnh shell?
kịch bản của tôi là:
for entry in `ls $search_dir`; do
echo $entry
done
nơi $search_dir
là một đường dẫn tương đối. Tuy nhiên, $search_dir
chứa nhiều tệp có khoảng trắng trong tên của chúng. Trong trường hợp đó, tập lệnh này không chạy như mong đợi.
Tôi biết tôi có thể sử dụng for entry in *
, nhưng điều đó sẽ chỉ hoạt động đối với thư mục hiện tại của tôi.
Tôi biết tôi có thể đổi sang thư mục đó, sử dụng for entry in *
sau đó thay đổi lại, nhưng tình huống cụ thể của tôi ngăn tôi làm điều đó.
Tôi có hai đường dẫn tương đối $search_dir
và $work_dir
, và tôi phải làm việc trên cả hai cùng một lúc, đọc chúng tạo/xóa các tập tin trong chúng vv
Vì vậy, tôi phải làm gì bây giờ?
PS: Tôi sử dụng bash.
https: // stackoverflow.com/questions/2437452/how-to-get-the-list-of-file-in-a-directory-in-a-shell-script # new-answer – arun