NAME¶
tempfile - create a temporary file in a safe manner
SYNOPSIS¶
tempfile [-d DIR] [-p STRING] [-s STRING] [-m MODE] [-n FILE]
[--directory=DIR] [--prefix=STRING] [--suffix=STRING] [--mode=MODE]
[--name=FILE] [--help] [--version]
DESCRIPTION¶
tempfile creates a temporary file in a safe manner. It uses
tempnam(3) to choose the name and opens it with O_RDWR | O_CREAT |
O_EXCL. The filename is printed on standard output. See
tempnam(3) for
the actual steps involved in directory selection.
The directory in which to create the file might be searched for in this order
(but refer to
tempnam(3) for authoritative answers):
- a)
- In case the environment variable TMPDIR exists and
contains the name of an appropriate directory, that is used.
- b)
- Otherwise, if the --directory argument is specified
and appropriate, it is used.
- c)
- Otherwise, P_tmpdir (as defined in
<stdio.h>) is used when appropriate.
- d)
- Finally an implementation-defined directory (/tmp)
may be used.
OPTIONS¶
- -d, --directory DIR
- Place the file in DIR.
- -m, --mode MODE
- Open the file with MODE instead of 0600.
- -n, --name FILE
- Use FILE for the name instead of tempnam(3).
The options -d, -p, and -s are ignored if this option is given.
- -p, --prefix STRING
- Use up to five letters of STRING to generate the name.
- -s, --suffix STRING
- Generate the file with STRING as the suffix.
- --help
- Print a usage message on standard output and exit
successfully.
- --version
- Print version information on standard output and exit
successfully.
RETURN VALUES¶
An exit status of 0 means the temporary file was created successfully. Any other
exit status indicates an error.
BUGS¶
Exclusive creation is not guaranteed when creating files on NFS partitions.
tempfile cannot make temporary directories. tempfile is deprecated; you should
use
mktemp(1) instead.
EXAMPLE¶
#!/bin/sh
#[...]
t=$(tempfile) || exit
trap "rm -f -- '$t'" EXIT
#[...]
rm -f -- "$t"
trap - EXIT
exit
SEE ALSO¶
tempnam(3),
mktemp(1)