首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >" patch:* Can't rename file“bash patch错误

" patch:* Can't rename file“bash patch错误
EN

Stack Overflow用户
提问于 2016-10-15 01:42:34
回答 1查看 362关注 0票数 2

我正在运行这三个命令。

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2016-10-15 02:01:43

问题出在这里:

代码语言:javascript
复制
cd "${folder1}"
diff -ruN "${folder1}" "${folder2}" > "${patchname}"

您在folder1中,正在尝试创建一个也在folder1中的补丁(我们知道这个补丁是因为您的日志文件称为文件./update.patch.omMg8yG,显式地引用当前目录),它包含folder1folder2之间的一组差异,而这些差异还包括输出文件本身的内容--输出文件在diff操作过程中生成,并在patch操作过程中读取。

因此,patch正在尝试更改它从读取的补丁文件。它失败了,因此出现了错误,但是您不应该让它进行这种尝试--特别是因为在大多数UNIXlike操作系统上,这种尝试不会失败(我假设您在Cygwin上,或者在不支持打开未链接文件的远程文件系统挂载上)。

修改patchfile变量,使其指向folder1folder2以外的其他目录中的某个位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40049075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档