bash-скриптинг: слишком много аргументов, если

0

У меня есть ifусловие в forцикле по папкам в данном каталоге, проверка, существует ли определенный файл в каждой папке, и пропуск этой папки, если это не так. ifУсловие дает мне слишком много аргументов об ошибке:

line 2: [: too many arguments

Это мой синтаксис:

for folders in path; do
    if [ ! -e /sub/folder/file* ]; then
        continue
    fi
    #do-stuff-to-file
done

Аналогичная проверка цикла для подкаталога ! -dработает просто отлично ...

Генри Брайс
источник
если вы хотите найти файл, просто используйте find.
Дэвид Дай

Ответы:

0

Подстановочный знак является проблемой. Предположим, у вас есть файл A и файл B, он расширится до:

if [ ! -e /sub/folder/fileA /sub/folder/fileB ]; then

что синтаксически неверно.

pjc50
источник