Перебирать файлы по переменному пути (Bash) - PullRequest
0 голосов
/ 26 июня 2018

Я искал лучший способ найти итерации по файлам в пути к переменным и наткнулся на этот вопрос.

Однако, это и любое другое решение, которое я нашел, использует буквальный путь, а не переменную, и я считаю, что это моя проблема.

for file in "${path}/*"
do
     echo "INFO - Checking $file"
     [[ -e "$file" ]] || continue
done

Даже если в каталоге определенно есть файлы (и если вместо ${path} указать один из буквальных путей, я получу ожидаемый результат), это всегда повторяется только один раз, а значение $ file всегда равно буквальное значение ${path}/* без каких-либо потертостей.

Что я делаю не так?

1 Ответ

0 голосов
/ 26 июня 2018

Расширение глобуса не происходит внутри кавычек (одинарных и двойных) в оболочке.

Вы должны использовать этот код:

for file in "$path"/*; do
     echo "INFO - Checking $file"
     [[ -e $file ]] || continue
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...