Назад | Перейти на главную страницу

Как проверить наличие нескольких каталогов?

У меня есть сценарий, который явно ошибочен:

if [ -d "$BACKUP/${DATE_MAX}_"* ]
  then
    ...
fi

Этот сценарий будет работать только в том случае, если в нем есть один каталог или вообще нет его. Если есть несколько каталогов, таких как _1, он сломается:

functions.sh: строка 93: [: слишком много аргументов

Как я мог проверить наличие нескольких каталогов, а затем вызвать удаление каталогов один за другим?

Пока единственное, что вы пытаетесь сделать, - это удалить каталоги, соответствующие этому шаблону, вы можете использовать:

rm -r "$BACKUP/${DATE_MAX}"_*

Если вы пытаетесь сделать что-то еще, вы можете использовать:

cd "$BACKUP"
for filename in ${DATE_MAX}_*
do
    # Stuff you want to do
    rm -r "$filename"
done