我在使用 powerlevel10k 在 zsh 上执行以下命令时遇到了一个奇怪的问题。老实说,我不知道是什么原因造成的,不过,我删除了所有 oh-my-zsh 插件,只是为了尝试,但没有成功。
问题很简单:
❯ find -name *.yaml
zsh: no matches found: *.yaml
如果我进入 bash 并执行相同的命令,它会按预期工作
❯ bash
xxxx@merlin:~$ find -name *.yaml
./go/src/github.com/ ...
{regular result list}
你有什么想法吗?提前谢谢
答案1
shell 很可能正在*.yaml
当前目录中扩展(未找到),因此您需要对其进行转义才能使其在 find 中工作:
find -name \*.yaml
xyz.yaml
如果当前目录中有一个文件,例如后缀,则 find 命令可能会调整为对文件名进行明确匹配xyz.yaml
,而不是任何结尾.yaml
:
find -name xyz.yaml
答案2
防止 shell 扩展的另一种方法是使用单引号将通配符括起来。
查找 -name '*.yaml'