tempfile
create a temporary file in a safe manner
see also :
mktemp
Synopsis
tempfile
[-d DIR] [-p STRING] [-s STRING] [-m
MODE] [-n FILE] [--directory=DIR]
[--prefix=STRING] [--suffix=STRING]
[--mode=MODE] [--name=FILE]
[--help] [--version]
add an example, a script, a trick and tips
examples
no example yet ...
... Feel free to add your own example above to help other Linux-lovers !
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.
example
#!/bin/sh
#[...]
t=$(tempfile) || exit
trap "rm -f -- â$tâ" EXIT
#[...]
rm -f -- "$t"
trap - EXIT
exit
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.
see also
tempnam,
mktemp