tempfile(1)

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.

  1. 1.3–2.0
  2. 2.1
  3. 2.2–3.0
  4. 3.1
  5. 4.0
  6. 5.0
  7. 6.0
  8. 7–9
  9. 10
  10. 11–13

--suffix since Debian 2.2 (Potato); -s since Debian 2.2 (Potato).

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.

From debianutils 5.23.2 in Debian 13 (Trixie). Parsed by carta from the page's man source.