$TMPDIR
é mais padrão que $TEMP
e $TMP
, como é mencionado pelo padrão POSIX.
The
/tmp
directory is retained in POSIX.1-2008 to accommodate historical applications that assume its availability. Implementations are encouraged to provide suitable directory names in the environment variableTMPDIR
and applications are encouraged to use the contents ofTMPDIR
for creating temporary files.
Ref: link
Pelo menos no macOS, $TMPDIR
não está definido como /tmp
por padrão, mas como algo como /var/folders/4r/504v61kx02gczk_454db345c0000gn/T/
. O /tmp
ainda está disponível, como um link simbólico para /private/tmp
(por qualquer motivo).
Você pode usar tmpdir="${TMPDIR:-/tmp}"
em um script, por exemplo, para usar $TMPDIR
se estiver definido ou /tmp
se não estiver definido (ou vazio).
O utilitário mktemp
não padrão criará um arquivo ou diretório em $TMPDIR
por padrão e exibirá seu nome:
tmpfile=$(mktemp)
tmpdir=$(mktemp -d)
Verifique o manual de mktemp
em seu sistema para descobrir como usá-lo. Nem todas as implementações são iguais.