Линукс не находит цели? - PullRequest
0 голосов
/ 10 мая 2019

У меня есть файловая структура:

.
├── a.o
└── test_sub
    └── b.o

Из test_sub "find .. -name * .o" производит только b.o. Что-то не так?

$ find .. -name *.o
../test_sub/b.o

Я тестирую на Ubuntu 16.04 VM, если это имеет значение.

1 Ответ

1 голос
/ 10 мая 2019

Подстановочный знак * .o в вашем cmd интерпретируется оболочкой, а не программой find.Итак, когда ваш cwd - test_sub, фактически выполняется команда 'find .. -name b.o', которая, правильно, находит bo в ../test_sub.

На самом деле вам нужно, чтобы *Шаблон .o интерпретируется командой find.Итак, вы хотите избежать этого, чтобы оболочка оставила его в покое:

$ find .. -name "* .o"

...