Читать содержимое каталога с помощью сценария оболочки
Я пытаюсь получить содержимое каталога с помощью сценария оболочки.
Мой сценарий:
for entry in `ls`; do
echo $entry
done
Тем не менее, мой текущий каталог содержит много файлов с пробелами в именах. В этом случае этот сценарий не выполняется.
Как правильно перебрать содержимое каталога в сценариях оболочки?
PS: я использую bash.
2 ответа
Решение
Не анализировать содержимое каталога с помощью ls
в цикле. Вы столкнетесь с проблемами пустого пространства. вместо этого используйте расширение оболочки
for file in *
do
if [ -f "$file" ];then
echo "$file"
fi
done