Переместить файлы, соответствующие глобусу, в цикл for ... done возвращает «нет такого файла или каталога» - PullRequest
0 голосов
/ 22 февраля 2019

Я перемещаю файлы на основании их расширения.

Следующее работает, как и ожидалось, когда есть файлы, соответствующие глобу;но когда нет подходящих файлов, возвращается

'mv: переименовать /Users/xxx/Downloads/*.txt в /Volumes/Internal_HD/*.txt: такого файла каталога нет'

in_path=/Users/xxx/Downloads
out_path=/Volumes/Internal_HD

for f in "$in_path"/*.txt; do
    mv -v "$f" "$out_path"
done;

['xxx' - это имя пользователя.]

1 Ответ

0 голосов
/ 22 февраля 2019

Установите параметр nullglob, в противном случае шаблон расширяется до самого себя, если ему не найдено ни одного файла:

shopt -s nullglob
...