tempfile1
Create a temporary file in a safe manner
Usage
tempfile [-d
DIR]
[-p
STRING]
[-s
STRING]
[-m
MODE]
[-n
FILE]
[--directory=DIR]
[--prefix=STRING]
[--suffix=STRING]
[--mode=MODE]
[--name=FILE]
[--help]
[--version]
Overview
tempfile creates a temporary file in a safe manner. It uses mkstemps(3) to choose the name and opens it with O_RDWR | O_CREAT | O_EXCL. The filename is printed on standard output.
The directory in which to create the file might be searched for in this order:
- 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.
Examples
#!/bin/sh #[...] t=$(tempfile) || exit trap "rm -f -- '$t'" EXIT #[...] rm -f -- "$t" trap - EXIT exit
Releases
16 releases since Debian 1.3 (Bo); the text changed 9 times.
--suffix since Debian 2.2 (Potato);
-s since Debian 2.2 (Potato).