Man Linux: Main Page and Category List

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.

       -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.

       -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.

       --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.

EXAMPLE

              #!/bin/sh
              #[...]
              t=$(tempfile) || exit
              trap "rm -f -- ’$t’" EXIT
              #[...]
              rm -f -- "$t"
              trap - EXIT
              exit

SEE ALSO

       tempnam(3), mktemp(1)