📅  最后修改于: 2023-12-03 14:48:43.471000             🧑  作者: Mango
当我们在shell中使用*
作为通配符时,有时候会遇到类似以下的错误提示:
zsh: no matches found: file*
这是因为zsh
的默认行为是在找不到匹配项时报错。而bash
则会忽略找不到匹配项。因此,我们有以下几种解决方法:
使用双引号可以防止zsh
对通配符进行扩展,例如:
ls "file*"
使用反斜杠可以将通配符作为普通字符使用,例如:
ls file\*
zsh
的globbing扩展我们可以通过设置setopt noglob
来关闭zsh
的通配符扩展:
setopt noglob
ls file*
setopt glob
bash
如果你已经熟悉了bash
的行为,也可以通过切换到bash
来解决该问题:
bash
ls file*
exit
以上是四种解决zsh
通配符匹配错误的方法,选择哪种方法取决于个人的喜好和需求。