Maneira genérica de obter o caminho temporário?

5

Eu ouvi falar sobre $TEMP e $TMP , mas acho que eles não são padrão para todas as distros.

Até onde eu sei, a melhor maneira de obter o dir temp é apenas /tmp , existe alguma distro que não funcione usando esse caminho?

    
por Perostek Balveda 17.03.2017 / 14:23

1 resposta

6

$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 variable TMPDIR and applications are encouraged to use the contents of TMPDIR 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.

    
por 17.03.2017 / 14:27

Tags