--help
最近、テキストmktemp
(man
ページが利用できません)を読み、次のことがわかりました。
-u, --dry-run do not create anything; merely print a name (unsafe)
これが「安全でない」理由は何ですか?このように表示する特別な理由はありますか?
答え1
mktemp
マニュアルを引用すると、ポイントは「一時ファイルまたはディレクトリを安全に生成する」です。デフォルトでは、スクリプトでは次のように書くことができます。
file="$(mktemp)"
または
dir="$(mktemp -d)"
一時ファイルとディレクトリは、コマンドを実行しているユーザー(もちろんほとんどの設定ではルート)だけにアクセスでき、他の項目などへのシンボリックリンクではないことを知っており、必要に応じて安全に使用できます。それでも警告があります。特にシャットダウン状態を確認し、親ディレクトリを安全に使用する必要があります。文書もっと学ぶ。 )
mktemp -u
はファイル名の設定とスクリプトの使用を分離するため、この保証は提供しません。これをしないでください。)
dir="$(mktemp -u)"
mkdir "$dir"
chmod 700 "$dir"
mktemp
との間にmkdir
異なるプロセスが異なる所有権を持つディレクトリを作成できます。あるいは、ファイルの場合、他のプロセスがその場所にファイルを作成したり、シンボリックリンクを作成したりできます。