Scroll to navigation

TEMPFILE(1) General Commands Manual TEMPFILE(1)

名前

tempfile - 安全な一時ファイルの作成

書式

tempfile [-d DIR] [-p STRING] [-s STRING] [-m MODE] [-n FILE] [--directory=DIR] [--prefix=STRING] [--suffix=STRING] [--mode=MODE] [--name=FILE] [--help] [--version]

説明

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)
環境変数 TMPDIR が存在し、適切なディレクトリ名が設定されていれば、これを使用します。
b)
そうでない場合、--directory 引数が指定されていて適切であれば、これを使用します。
c)
そうでない場合、P_tmpdir (<stdio.h> で定義) が適切であれば、これを使用します。
d)
最後に、実装で定義したディレクトリ (/tmp) を使用します。

オプション

-d, --directory DIR
ファイルを DIR に配置します。
-m, --mode MODE
ファイルのモードを 0600 に代えて MODE で開きます。
-n, --name FILE
ファイル名として tempnam(3) に代えて FILE を使用します。このオプションを与えると、-d, -p, -s の各オプションを無視します。
-p, --prefix STRING
STRING の 5 文字までを名前の生成に使用します。
-s, --suffix STRING
STRING を末尾にするファイルを生成します。
--help
使用方法を標準出力に表示し、正常終了します。
--version
バージョン情報を標準出力に表示し、正常終了します。

戻り値

終了ステータスが 0 は一時ファイルが正常に作成できたことを意味します。その他の終了ステータスはエラーです。

バグ

NFS パーティションでファイルを作成する際、排他作成は保証されません。tempfile は一時ディレクトリを作成できません。tempfile は非推奨です。代わりに mktemp(1) を使用してください。

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

関連項目

tempnam(3), mktemp(1)

翻訳

倉澤 望 <nabetaro@debian.or.jp>, 2012
Debian JP Documentation ML <debian-doc@debian.or.jp>

27 Jun 2012 Debian