加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 非零返回码虽然找-exec rm有效

发布时间:2020-12-14 01:37:43 所属栏目:Linux 来源:网络整理
导读:我在 Linux系统上我想知道以下执行find有什么问题: mkdir a touch a/b find . -name a -type d -exec echo '{}' ; ./afind . -name a -type d -exec rm -r '{}' ;find: `./a': No such file or directory echo的调用仅用于测试目的.我希望最后一个命令完
我在 Linux系统上我想知道以下执行find有什么问题:

mkdir a && touch a/b                      
find . -name a -type d -exec echo '{}' ; 
./a
find . -name a -type d -exec rm -r '{}' ;
find: `./a': No such file or directory

echo的调用仅用于测试目的.我希望最后一个命令完全删除目录’./a’并返回0.而是删除目录并生成错误消息.重复一遍,它确实删除了目录!到底是怎么回事?

解决方法

rm执行没有问题.问题是find很困惑,因为它知道目录./a在那里,它试图访问该目录以查找名为a的目录.但是,find无法进入目录,因为它已被删除.

避免这种情况的一种方法是这样做

find -name a -type d | xargs rm -r

这将使查找在rm命令执行之前移动.或者,您可以简单地忽略原始命令中的错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读