暂无图片
不同的目录下执行find命令得到的结果不同
我来答
分享
2023-12-02
不同的目录下执行find命令得到的结果不同

简单举例:

Linux用户下有work目录,在家目录执行find命令,可以得到work子目录下所有以txt结尾的文件。

为什么cd到work目录后,再次执行同样的find命令,只查到了一个txt文件,而没有遍历子目录查询呢?



我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
大大刺猬

find 后面匹配的名字 加上"", 这才会作为一个参数传递给find. 不然会先被shell解析.
即使用 find ./ -name "*txt"

例子

18:30:47 [root@ddcw21 t20231202]#find ./ -name "*txt" ./aa/a.txt ./aa/dd/d.txt ./bb/b.txt ./cc/c.txt 18:32:15 [root@ddcw21 t20231202]#cd aa 18:32:17 [root@ddcw21 aa]#find ./ -name "*txt" ./a.txt ./dd/d.txt 18:32:19 [root@ddcw21 aa]#

同理,echo等命令也是同样的效果, 在编写shell脚本的时候需要注意下.(小坑)
传参数的时候也要注意下(也是个坑…, 也可以说是bash的锅-_-)

暂无图片 评论
暂无图片 有用 1
暂无图片
题主
2023-12-02
谢谢道友
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏