читать содержимое каталога с помощью сценария оболочки - PullRequest
8 голосов
/ 12 марта 2010

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

Мой скрипт:

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

Однако мой текущий каталог содержит много файлов с пробелами в именах. В этом случае этот скрипт завершается неудачей.

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

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

Ответы [ 2 ]

13 голосов
/ 12 марта 2010
for entry in *
do
  echo "$entry"
done
3 голосов
/ 13 марта 2010

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

   for file in *
    do
      if [ -f "$file" ];then
       echo "$file"
      fi
    done
...