Como recursivamente criar um diretório se ainda não existe?

3

Isso parece um utilitário geral e estou me perguntando se alguma coisa já existe. Eu estou tentando colocar um arquivo de log timestamped em um diretório depois que um script é executado, mas precisa se certificar de que o subdiretório (e quaisquer diretórios ao longo da cadeia) existe primeiro.

Por exemplo, se o caminho relativo completo for ./2014/Backups/Logfiles , gostaria de verificar se 2014 não existe, criá-lo, se Backups não existir, criá-lo, se Logfiles não existir existe, crie-o ....

Até agora eu tenho algo assim (mas é apenas um passo):     LOGFILE_DIRECTORY="./ 2014 / Backups / Logfiles"

if [ ! -d "$LOGFILE_DIRECTORY" ]; then
  mkdir "$LOGFILE_DIRECTORY" >> $LOGFILE 2>&1
fi

EDIT, Adicionando solução

if [ ! -d "$LOGFILE_DIRECTORY" ]; then
  mkdir -p "$LOGFILE_DIRECTORY" >> $LOGFILE 2>&1
fi
    
por tarabyte 29.04.2014 / 05:49

1 resposta

11
mkdir -p <path-to-desired-directory>

Da página do manual:

   -p, --parents
      no error if existing, make parent directories as needed
    
por 29.04.2014 / 05:53