TEMPFILE

Section: User Commands (1)
Updated: 1 May 2009
 

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)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
RETURN VALUES
BUGS
EXAMPLE
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 07:35:50 GMT, March 26, 2013