Остановить неопределенный цикл файлов через каталог - PullRequest
0 голосов
/ 21 октября 2019

Я хотел бы перебрать файлы в каталоге, которые соответствуют определенному шаблону имени файла. В данный момент я использую следующий фрагмент кода в качестве ориентира:

shopt -s nullglob
while :; do
  files=("/home/methuselah"/${filePattern})
  if [ ${#files} -gt 0 ]; then
    for file in "${files[@]}"; do
    # something to be done here
    done
  fi
done

Проблема заключается в том, что он будет зацикливаться бесконечно. Я хочу, чтобы он остановился, как только он прошел через файлы, доступные в каталоге. Как мне наложить это ограничение?

1 Ответ

2 голосов
/ 21 октября 2019

Упростите это только до внутреннего цикла.

shopt -s nullglob
files=( /home/methuselah/$filePattern )
for file in "${files[@]}"; do
    # something to be done here
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...