Читать содержимое каталога с помощью сценария оболочки

Я пытаюсь получить содержимое каталога с помощью сценария оболочки.

Мой сценарий:

for entry in `ls`; do
    echo $entry
done

Тем не менее, мой текущий каталог содержит много файлов с пробелами в именах. В этом случае этот сценарий не выполняется.

Как правильно перебрать содержимое каталога в сценариях оболочки?

PS: я использую bash.

2 ответа

Решение
for entry in *
do
  echo "$entry"
done

Не анализировать содержимое каталога с помощью ls в цикле. Вы столкнетесь с проблемами пустого пространства. вместо этого используйте расширение оболочки

   for file in *
    do
      if [ -f "$file" ];then
       echo "$file"
      fi
    done
Другие вопросы по тегам