ファイルまたはフォルダがパッチされていることを確認する

ファイルまたはフォルダがパッチされていることを確認する

パッチを適用する前にファイルがパッチされているかどうかはわかりますか?

スクリプトでこれを行う必要があります。どんなアイデアがありますか?

ベストアンサー1

はい、オプションをpatch使用して実行する--dry-runと失敗または成功し、終了状態で確認できます。

しかし、より一般的な(そしてエラーが少ない)方法で-R、パッチ全体を復元できる場合にのみ「適用」と見なされる可能性があるため、「逆」を意味するオプションを使用して実行する必要があるかもしれません。そうしないと(「-R」なし)、元のファイルの一部が変更され、失敗する可能性があります。簡単な例は次のとおりです。

if ! patch -R -p0 -s -f --dry-run <patchfile; then
  patch -p0 <patchfile
fi

patch(stdoutとstderrを上記のコードスニペットにリダイレクトして完全に沈黙することを好むかもしれません/dev/null

おすすめ記事