見出し画像

[ mktemp ] [ uuidgen ] 安全な一時ファイルを作りたい。

概要 一時的にファイルを作成したい場合があります。tmp.txt などと名付ける場合がおおいですが,たまたま tmp.txt という名前のファイルがあり,それを消してしまう場合もあるでしょう。今回は,そのような可能性なく,一時ファイルを作る方法を説明します。

安全な一時ファイルを作る方法はすくなくとも3つあります。

  • mktemp コマンドを使う

  • uuidgen コマンドを利用する

  • タイムスタンプを利用する

mktemp コマンドを使う

以下のように mktemp を使って一時ファイルを作るのが一番簡単です。

# mktemp コマンドを使う
tmp_file=$(mktemp)

uuidgen コマンドを利用する

UUID とは,他のIDとぶつからないID のことをいいます。uuidgen はこの UUID を生成するコマンドです。これを使えば一意のファイル名を作ることができます。安心。

# uuidgen コマンドを使う
tmp_file=$(uuidgen)

タイムスタンプを利用する

タイムスタンプ,つまり時刻を使う方法です。uuidgen とちがい場合によっては同じファイル名が複数できる場合もあるでしょう。しかし,特定のひとしか使わない状況では十分ではないかとも思います。

# タイムスタンプを使う 
tmp_file=$(date +%Y%m%d%H%M%S)

その他

アクセス権を与えて,他のひとからは使えなくするとか,使った一時ファイルはすぐ消すとかい癖をつけるのもいいと思います。


この記事が気に入ったらサポートをしてみませんか?