Domanda

Sto creando uno script di backup rapido che il dump alcune banche dati in una bella struttura di pulito / directory e mi sono reso conto che ho bisogno di test per assicurarsi che le directory esistano prima che io li creo. Il codice che ha le opere, ma sembra che ci sia un modo migliore per farlo. Qualche suggerimento?

[ -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"
È stato utile?

Soluzione

È possibile utilizzare il parametro -p, che è documentato come :

  

-p, --parents

     

nessun errore, se esistente, fare directory padre, se necessario

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

Altri suggerimenti

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

Mentre le risposte esistenti sicuramente risolvere lo scopo, se your'e cercando di replicare la struttura delle directory annidata sotto due sottodirectory diverse, allora si può fare questo

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

Si creerà seguente struttura di directory sotto la directory da cui viene richiamato

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

L'esempio è stato preso da questo link per la creazione di SBT struttura di directory

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top