Ответ 1
Вы можете использовать параметр -p
, который задокументирован как:
-p, --parents
нет ошибки, если она существует, при необходимости создайте родительские каталоги
Итак:
mkdir -p "$BACKUP_DIR/$client/$year/$month/$day"
Я создаю быстрое резервное копирование script, которое сбрасывает некоторые базы данных в красивую/аккуратную структуру каталогов, и я понял, что мне нужно протестировать, чтобы убедиться, что каталоги существуют до их создания. В коде у меня есть работы, но кажется, что есть лучший способ сделать это. Любые предложения?
[ -d "$BACKUP_DIR" ] || mkdir "$BACKUP_DIR"
[ -d "$BACKUP_DIR/$client" ] || mkdir "$BACKUP_DIR/$client"
[ -d "$BACKUP_DIR/$client/$year" ] || mkdir "$BACKUP_DIR/$client/$year"
[ -d "$BACKUP_DIR/$client/$year/$month" ] || mkdir "$BACKUP_DIR/$client/$year/$month"
[ -d "$BACKUP_DIR/$client/$year/$month/$day" ] || mkdir "$BACKUP_DIR/$client/$year/$month/$day"
Вы можете использовать параметр -p
, который задокументирован как:
-p, --parents
нет ошибки, если она существует, при необходимости создайте родительские каталоги
Итак:
mkdir -p "$BACKUP_DIR/$client/$year/$month/$day"
$ mkdir -p "$BACKUP_DIR/$client/$year/$month/$day"