我的文件结构如下:
.
├── a.o
└── test_sub
└── b.o
在test_sub中,“ find .. -name * .o”仅产生b.o。有什么问题吗?
$ find .. -name *.o
../test_sub/b.o
如果有问题,我正在Ubuntu 16.04 VM上进行测试。
答案 0 :(得分:1)
cmd中的* .o通配符由外壳程序而不是由find程序解释。因此,当您的cwd是test_sub时,实际执行的命令是'find .. -name b.o',正确地在../test_sub中找到b.o。
您真正想要的是* .o模式由find命令解释。因此,您想对其进行转义,以便外壳将其单独留下:
$ find .. -name“ * .o”