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


3

Isso parece ser um utilitário geral e estou me perguntando se algo já existe. Estou tentando colocar um arquivo de log com registro de data e hora em um diretório após a execução de um script, mas preciso garantir que o subdiretório (e qualquer diretório da cadeia) exista primeiro.

Por exemplo, se o caminho relativo completo for ./2014/Backups/Logfiles, eu gostaria de verificar se 2014não existe, crie-o, se Backupsnão existir, crie-o, se Logfilesnão existir, crie-o ....

Até agora, tenho algo parecido com isto (mas é apenas uma etapa): 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

Respostas:


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

Na página do manual:

   -p, --parents
      no error if existing, make parent directories as needed
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.