NOME¶
tempfile - 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
VEDERE ANCHE¶
tempnam(3),
mktemp(1)