subdirectorios para ejemplos directorios crear consola comandos comando basicos bash shell recursion subdirectory

para - ¿Cómo crear subdirectorios inexistentes recurrentemente usando Bash?



manual de linux (3)

Puede usar el parámetro -p , que está documentado como :

-p, --parents

no hay error si existe, crea directorios principales según sea necesario

Asi que:

mkdir -p "$BACKUP_DIR/$client/$year/$month/$day"

Estoy creando un script de copia de seguridad rápido que volcará algunas bases de datos en una estructura de directorio bonita / ordenada y me di cuenta de que debo probar para asegurarme de que los directorios existen antes de crearlos. El código que tengo funciona, pero parece que hay una mejor manera de hacerlo. ¿Alguna sugerencia?

[ -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"


Si bien las respuestas existentes definitivamente resuelven el propósito, si estás buscando replicar la estructura de directorios anidados bajo dos subdirectorios diferentes, entonces puedes hacer esto

mkdir -p {main,test}/{resources,scala/com/company}

Creará la siguiente estructura de directorio bajo el directorio desde donde se invoca

├── main │   ├── resources │   └── scala │   └── com │   └── company └── test ├── resources └── scala └── com └── company

El ejemplo fue tomado de este enlace para crear la estructura de directorios SBT


$ mkdir -p "$BACKUP_DIR/$client/$year/$month/$day"