我运行命令并收到结果:
$ ls M*
ManagerGit
$ ls m*
ManagerGit
问题是dir ManagerGit
不在当前目录上,
尝试命令:
$ ls | grep -i 'manage'
Manager
它是dir Manage
的子目录 tree -L 2
...
├── Manager
│ └── ManagerGit
...
背后的机制是什么?
答案 0 :(得分:3)
因为shell将ls M*
扩展为ls Manager
- 即列出名为Manager
的目录的内容。
ls
不知道如何过滤。我建议你做这样的事情:
find . -depth 1 -name 'M*'
答案 1 :(得分:1)
我总是发现ls -d M*
更快更容易编写(而不是find ...
)-d
执行以下操作:
-d, --directory
list directories themselves, not their contents