[Shell command] mktemp で一時ファイルを作成する
作成日: 2026年10月18日
mktemp コマンドを使用すると、既存のファイル名と衝突しにくい名前で一時ファイルを作成できます。
例えば、下記のように実行します。
tmpfile=$(mktemp)
printf 'hello\n' > "$tmpfile"
cat "$tmpfile"
rm "$tmpfile"
実行結果は下記のとおりです。
hello
mktemp は作成したファイルのパスを標準出力へ出力します。$(mktemp) でそのパスを取得し、tmpfile 変数に代入しています。
"$tmpfile" のように変数をダブルクォートで囲むと、パスに空白などが含まれていても1つの引数として扱えます。rm は使用後の一時ファイルを削除するためのコマンドです。
一時ディレクトリを作成したい場合は mktemp -d を使用できます。
参考
- GNU Coreutils - mktemp: https://www.gnu.org/software/coreutils/manual/html_node/mktemp-invocation.html