Ao usar mkdir
, o script deve certificar-se de que ele crie um diretório com um nome que ainda não existe. Seria um erro usar mkdir dirname
if dirname
é um nome existente no diretório atual.
Ao criar um diretório temporário (ou seja, um diretório que não é necessário por muito mais tempo do que durante o tempo de vida do script atual), o nome do diretório geralmente não é importante e mktemp -d
encontrará um nome que ainda não esteja tomado por outra coisa.
mktemp -d
torna mais fácil e mais seguro criar um diretório temporário. Sem mktemp -d
, seria necessário tentar mkdir
com vários nomes até que um tenha sido bem-sucedido. Isso é desnecessariamente complicado e pode ser feito de forma errada (possivelmente introduzindo condições de corrida sutis no código).
mktemp
também dá ao usuário do script um pouco de controle no local onde deseja que o diretório temporário seja criado. Se o script, por exemplo, produzir uma grande quantidade de dados temporários que precisam ser armazenados nesse diretório, o usuário poderá definir a variável de ambiente TMPDIR
(antes ou à medida que estiver chamando o script) para apontar para um diretório gravável uma partição onde há espaço suficiente disponível. mktemp -d
criaria o diretório temporário abaixo desse caminho.
Se TMPDIR
não estiver definido, mktemp
usará /tmp
em seu lugar.