O -f
em seu teste está verificando se FILE
existe e é um arquivo regular .
O que você precisa é de -d
para testar se FILE
existe e é um diretório .
if [ ! -d "$DIR/0folder" ]
then
mkdir "$DIR/0folder"
fi
Não é obrigatório verificar se existe um diretório. De acordo com a página do manual de mkdir
, vemos o seguinte
man mkdir | grep -A1 -- -p
-p, --parents
no error if existing, make parent directories as needed
No entanto, se FILE
existir e for um arquivo normal mkdir -p
falhará com
mkdir: /Allfoldersgoeshere/subfolder/0folder': Not a directory.
Nesse cenário, é necessário manipular o file
que deve ser um directory
antes da criação do diretório.