私はLinuxには新しく、スクリプトのロックファイルの概念に精通していますが、別のスクリプトでこのコードを見てきましたが、どのように動作するのか分かりませんでした。クリーンアップファイルとファイナライズ機能が何をしているのかを十分に知る人はいますか?誰かがこのBashスクリプトが何をしているのかを説明できますか?
cleanup_file="$(mktemp -q)"
finalize()
{
set +e
if test -f "$cleanup_file"
then
while read f
do
unlink "$f"
done < "$cleanup_file"
unlink "$cleanup_file"
fi
}
trap 'finalize' HUP INT QUIT TERM EXIT
あなたの質問には、スクリプト内で 'cleanup_file =" $(mktemp -q) "'で作成された 'temp'ファイルを使用する必要があります。 'trap'は' finalize'を呼び出します(本質的にスクリプトが終了するか、さもなければ殺されるたびに)。おそらく 'finalize'関数が取り除くものである一時ファイルにシンボリックリンクが書き込まれていると考えられます。 –