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