これら3つのコマンドを実行しています。"patch:****ファイルの名前を変更できません" bash patch error
cd "${folder1}"
diff -ruN "${folder1}" "${folder2}" > "${patchname}"
patch -f -s -d "${folder1}" --merge < "${patchname}"
実行すると、folder1のファイルがfolder2と同じに変更されます。しかし、これらのコマンドを実行すると出力が得られます。
patch: **** Can't rename file ./update.patch.omMg8yG to update.patch : Operation not permitted
'patch'はbashの一部ではなく、bashを一切インストールしないで使うことができます。 –
と述べていますが、注目すべき項目がいくつかあります。書き込みが進行中であると同時にインクリメンタルにdiff *しているディレクトリのファイルに書き込むことは、一般的には良い考えではありません。ファイルがインラインで変更されている場合、パッチの動作は明確に定義されていません。 –
'update.patch'は' patchname'の値ですか?誰かがそれを実行できるだけの十分な再生器を作ることができますか?(したがって、 'folder1'と' folder2'の内容の作成と設定、 'patchname'の設定などを担当します) –