一時ファイルの作成と削除(シェルプログラミング)

一時ファイルの作成

tempfile=$(mktemp 一時ファイルテンプレート名)

一時ファイルの削除

rm -f ${tempfile}

実際にはこれでは不十分で、全ての終了前ルートに仕込む必要があります。

異常時の一時ファイルの削除

trap 'rm -f "${tmpfile}"' SIGHUP SIGINT SIGQUIT SIGTERM SIGUSR1 SIGUSR2

終了時に一時ファイルの削除

trap 'rm -f "${tmpfile}"' EXIT

そのあたりまとめて削除する手順

atexit () {
    trap - EXIT
    rm -f ${tmpfile}
}

trap atexit EXIT SIGHUP SIGINT SIGQUIT SIGTERM SIGUSR1 SIGUSR2

参考文献

シェル/MakeAndRemoveTemporaryFile (last edited 2017-02-21 23:10:05 by NorikatsuShigemura)