プログラム中でテンポラリファイルを作ったときには、最後に削除します。シェルスクリプトだとこんな感じです。 tmpfile=$(mktemp /tmp/tmp.XXXXXXXXXX) # ここに処理いろいろ rm "$tmpfile" が、この方法には、「正常終了以外ではテンポラリファイルが削除されない」「シェルスクリプトの終了ステータスが、処理本体のものでなく、rm -fのものになる」という2つの弱点があります。 で、シグナル処理とかいろいろなパターンがあるんですが、いまどきだとtrapコマンドで疑似シグナルのEXIT(シグナル0)に後始末処理を入れるのが、正常系でも異常系でも処理できて簡単かと思います。 trap 'rm -f "$tmpfile"' EXIT tmpfile=$(mktemp /tmp/tmp.XXXXXXXXXX) # ここに処理いろいろ 正常終了での終了ステータスは