Я пытаюсь получить содержимое каталога с помощью сценария оболочки.
Мой сценарий:
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/*"
не работают? Почему мы должны размещать/*
вне кавычек?