在 zsh 上查找参数问题

在 zsh 上查找参数问题

我在使用 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'

相关内容