修补时自动显示yes命令?

问题描述

我正在尝试使用以下命令修补内核:

patch -p1 < 0001-Linux-3.4.4.patch

但是我一直收到y / n吗?响应,例如:

The next patch would create the file arch/arm/mach-at91/pm_slowclock.S,which already exists!  Assume -R? [n]

我试图通过使用以下命令使其自动化来解决此问题:

yes | patch -p1 < 0001-Linux-3.4.4.patch

但是终端仍然提示我是/否?响应。 有谁可以帮我离开这里吗?谢谢

解决方法

您试图同时从两个位置向patch命令提供标准输入:来自|输出的管道(yes)和重定向(< )从补丁文件中。重定向是在建立管道之后执行的,因此标准输入将来自补丁文件,而不是来自管道。

patch不会从标准输入中读取其问题的答案,而是直接从控制终端设备读取它们的答案。

有两个选项可以跳过提问:

  • -f--force将假定补丁没有反转。
  • -t--batch将假定看起来相反的色块被颠倒了。

还有一个-R--reverse选项可以明确指示补丁已反转。