一時的な場所にファイルをコピーしたいです。
重要な内容を上書きせずにスクリプトが実行されたときにファイルがどこにあるかを知りたいです。
#!/bin/bash
myfile="$(mktemp)"
cp "source" "$myfile"
# work with $myfile
rm "$myfile"
大丈夫に見えますか?私が逃したものはありますか? (権限など?)
このファイルを上書きするのは気分が悪いです。
ベストアンサー1
マニュアルページから
一時ファイルまたはディレクトリを安全に作成し、その名前を印刷します。
確認を追加してmktemp
成功したかどうかを確認できます。
myfile="$(mktemp)"
if test $? != 0; then
exit 1
fi
成功すると、mktemp
以前に存在しなかったファイルが生成されます。マニュアルに記載されているようにmktemp
設定された権限を使用してファイルを安全に上書きできます。u+rw