Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

mktempで一時ファイル作り

どういう訳か、一時ファイルを作るという習慣を身に着けずに今日までやってきました。
保存用のファイルを一個作って、新プロセスが始まったらそのファイルに一から書いてくという原始的極まりない方法です。
流石にいかんやろと思い、一時ファイルの方法を調べてみました。

実際のところ

mktempというコマンドはランダムで名前を生成してくれます。
そいつの名前を変数にブッこんでおいて、ファイル名のときに使えばよいです。

$ FILENAME=$(mktemp)
$ echo $FILENAME
/tmp/tmp.LnGgKo
$ echo 1234 >> $FILENAME
$ echo 5678 >> $FILENAME
$ cat $FILENAME
1234
5678

trapで処理の終了を掴んで明示的に破壊するもよし、OSが勝手に消すのを待つのもよし。

fswebcamの一時ファイルに

WEBカメラの出力先としても同じような事ができるので

$ FILENAME=$(mktemp)
$ fswebcam -d /dev/video0 --no-banner --png 0 $FILENAME
$ feh $FILENAME