NOMBRE¶
tempfile - Crea un fichero temporal de forma segura
SINOPSIS¶
tempfile [-d DIRECTORIO] [-p CADENA] [-s CADENA] [-m MODO] [-n FICHERO]
[--directory=DIRECTORIO] [--prefix=CADENA] [--suffix=CADENA] [--mode=MODO]
[--name=FICHERO] [--help] [--version]
DESCRIPCIÓN¶
tempfile crea un fichero temporal de manera segura. Utiliza
tempnam(3) para seleccionar un nombre, y lo abre con « O_RDWR |
O_CREAT | O_EXCL». El nombre de fichero se muestra por la salida
estándar. Consulte tempnam(3) para ver los pasos que se toman
para la selección del directorio.
Se busca el directorio en el que crear el fichero en el siguiente
orden (sin embargo, consulte tempnam(3) para ver información
de la fuente original):
- a)
- Si existe la variable de entorno TMPDIR, y contiene el nombre de un
directorio adecuado, se utiliza.
- b)
- En caso contrario, si se define el argumento --directory, y es
adecuado, se utiliza este.
- c)
- De no ser así, se utiliza P_tmpdir (tal y como se define en
<stdio.h>) cuando es apropiado.
- d)
- Por último, se puede utilizar el directorio implementado
(/tmp).
OPCIONES¶
- -d, --directory DIRECTORIO
- Copia el fichero al DIRECTORIO.
- -m, --mode MODO
- Utiliza el MODO para abrir el fichero, en lugar de 0600.
- -n, --name FICHERO
- Utiliza el FICHERO para el nombre, en lugar de tempnam(3).
Si se introduce esta opción, se ignoran las opciones
«-d», «-p» y «-s».
- -p, --prefix CADENA
- Utiliza hasta cinco letras de la CADENA para generar el nombre.
- -s, --suffix CADENA
- Genera el fichero con la CADENA como sufijo.
- --help
- Muestra información de uso por la salida estándar y cierra
con éxito.
- --version
- Muestra información de la versión por la salida
estándar y cierra con éxito.
ESTADOS DE SALIDA¶
Un estado de salida cero significa que el fichero temporal ha sido creado con
éxito. Cualquier otro estado de salida indica un fallo.
FALLOS¶
No se garantiza la creación exclusiva al crear ficheros en particiones
NFS. tempfile no puede crear directorios temporales. tempfile está
obsoleto, debe utilizar mktemp(1) en su lugar.
EJEMPLO¶
#!/bin/sh
#[...]
t=$(tempfile) || exit
trap "rm -f -- '$t'" EXIT
#[...]
rm -f -- "$t"
trap - EXIT
exit