linux - Linux find 未命中目标?
问题描述
我有一个文件结构如下:
.
├── a.o
└── test_sub
└── b.o
从 test_sub 中,“find .. -name *.o”只产生 bo 有什么问题吗?
$ find .. -name *.o
../test_sub/b.o
如果这很重要,我正在 Ubuntu 16.04 VM 上进行测试。
解决方案
cmd 中的 *.o 通配符由 shell 解释,而不是 find 程序。因此,当您的 cwd 为 test_sub 时,执行的实际命令是“find .. -name bo”,它正确地在 ../test_sub 中找到 bo。
您真正想要的是 *.o 模式由 find 命令解释。所以,你想逃避它,以便 shell 不理会它:
$ 查找 .. -name "*.o"
推荐阅读
- git - 无法推送到 gitlab 中的新项目 - 提交消息不遵循模式
- android - 将 Volley 调用更改为 AsyncTask
- python - 如何使用 pandas 读取大型 CSV 文件中的几行?
- mysql - MySQL死锁信息调试
- javascript - 更改 javascript 版本后 onclick() 失败
- jquery - jQuery $.ajax responseJSON 与 responseText 有不同的值
- reactjs - useEffect 懒惰创建的清理函数
- php - 如何使用 php 在终端中运行快速通道?exec() 或 shell_exec()
- python - 变量在周期性任务中不更新
- vba - 如何从文件夹中读取文件并将其作为附件