Este é um recurso opcional, que nem sempre é desejado, especialmente em scripts. Considere as seguintes desvantagens no caso de scripts:
- O fato de o diretório já existir não é relatado: se um script deve colocar alguns arquivos em um diretório recém-criado e esse diretório já existir e contiver arquivos, o script pode causar muita confusão. (Será difícil filtrar posteriormente os arquivos que foram colocados lá pelo script).
- Por outro lado, algum script (ou parte dele) pode depender de uma estrutura de diretório criada anteriormente (possivelmente por outro pacote / script). Por exemplo, um script de instalação de pacote pode precisar colocar bibliotecas em um subdiretório
/usr/local/lib/GreatSoftware/ImportantPartOfIt
, mas as bibliotecas dependem de / link para coisas em/usr/local/lib/GreatSoftware
. Se isso estiver faltando, o script não deve continuar.
O comportamento genérico de mkdir
torna isso fácil e natural, pois essas situações são relatadas e podem ser capturadas imediatamente.
Você pode criar um alias para ele se quiser sempre usar mkdir -p
em seus shells:
alias mkdir='mkdir -p'
(Isso deve ir para o seu .bashrc
ou qualquer configuração que seu shell use.)