Я пытаюсь получить содержимое каталога с помощью сценария оболочки.
Мой сценарий:
for entry in `ls $search_dir`; do
echo $entry
done
где $search_dirотносительный путь. Тем не менее, $search_dirсодержит много файлов с пробелами в их именах. В этом случае этот сценарий не выполняется должным образом.
Я знаю, что могу использовать for entry in *, но это будет работать только для моего текущего каталога.
Я знаю, что могу перейти в этот каталог, использовать и for entry in *затем вернуться обратно, но моя конкретная ситуация не позволяет мне сделать это.
У меня есть два относительных пути $search_dirи $work_dir, и я должен работать над обоими одновременно, читая их, создавая / удаляя файлы в них и т. Д.
Так что мне теперь делать?
PS: я использую bash.
for entry in "$search_dir/*"не работают? Почему мы должны размещать/*вне кавычек?