Linux перебирает файлы в каталоге - PullRequest
2 голосов
/ 14 ноября 2009

Я пытаюсь перебрать каждый файл в каталоге. Вот мой код.

while read inputline
do
  input="$inputline"
  echo "you entered $input";

if [ -d "${input}" ]
  then
    echo "Good Job, it's a directory!"

    for d in $input
      do
        echo "This is $d in directory."
      done
   exit

мой вывод всегда только одна строка

this is $input directory.

почему этот код не работает? что я делаю не так?

Cool. Когда я повторяю, он печатает

$input/file

Почему он это делает? Разве он не должен просто распечатать файл без префикса каталога?

Ответы [ 2 ]

7 голосов
/ 14 ноября 2009
for d in "$input"/*
4 голосов
/ 14 ноября 2009

Если вы хотите немного упростить его и избавиться от проверки каталогов, вы можете просто написать его для работы с файлами и каталогами, возможно, что-то вроде:

read inputline
ls "$inputline" | while read f; do
    echo Found "$f"
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...