tempfile(1) crea un file temporaneo in maniera sicura

SINTASSI

tempfile [-d DIR] [-p STRINGA] [-s STRINGA] [-m MODALITÀ] [-n FILE] [--directory=DIR] [--prefix=STRINGA] [--suffix=STRINGA] [--mode=MODALITÀ] [--name=FILE] [--help] [--version]

DESCRIZIONE

tempfile crea un file temporaneo in maniera sicura. Usa tempnam(3) per scegliere il nome e lo apre con O_RDWR | O_CREAT | O_EXCL. Il nome di file viene stampato sullo standard output. Vedere tempnam(3) per i passi effettivi che la selezione della directory comporta.

La directory in cui creare il file può essere ricercata in questo ordine (ma fare riferimento a tempnam(3) per risposte autoritative):

a)
Se la variabile d'ambiente TMPDIR esiste e contiene il nome di una directory appropriata, viene usata tale directory.
b)
Altrimenti, se viene specificato un appropriato argomento --directory, viene usato tale argomento.
c)
Altimenti, viene usata P_tmpdir (come definita in <stdio.h>) quando è appropriata.
d)
Da ultimo può essere usata una directory (/tmp) definita dall'implementazione.

OPZIONI

-d, --directory DIR
Posiziona il file in DIR.
-m, --mode MODALITÀ
Apre il file con MODALITÀ invece di 0600.
-n, --name FILE
Usa FILE come nome invece di tempnam(3). Se viene specificata questa opzione le opzioni -d, -p e -s vengono ignorate.
-p, --prefix STRINGA
Usa fino a cinque lettere di STRINGA per generare il nome.
-s, --suffix STRINGA
Genera il file con STRINGA come suffisso.
--help
Stampa un messaggio sull'uso sullo standard output e termina con successo.
--version
Stampa informazioni sulla versione sullo standard output e termina con successo.

VALORI RESTITUITI

Uno stato di uscita 0 significa che il file temporaneo è stato creato con successo. Qualsiasi altro stato di uscita indica un errore.

BUG

La creazione esclusiva non è garantita quando si creano file su partizioni NFS. tempfile non può creare directory temporanee. tempfile è deprecato; si dovrebbe usare mktemp(1) al suo posto.

ESEMPIO

#!/bin/sh
#[...]
t=$(tempfile) || exit
trap "rm -f -- '$t'" EXIT
#[...]
rm -f -- "$t"
trap - EXIT
exit