📜  zsh:未找到匹配项:带 * - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:48:43.471000             🧑  作者: Mango

zsh:未找到匹配项:带 * - Shell-Bash

当我们在shell中使用*作为通配符时,有时候会遇到类似以下的错误提示:

zsh: no matches found: file*

这是因为zsh的默认行为是在找不到匹配项时报错。而bash则会忽略找不到匹配项。因此,我们有以下几种解决方法:

1. 使用双引号包裹通配符

使用双引号可以防止zsh对通配符进行扩展,例如:

ls "file*"
2. 使用反斜杠转义通配符

使用反斜杠可以将通配符作为普通字符使用,例如:

ls file\*
3. 关闭zsh的globbing扩展

我们可以通过设置setopt noglob来关闭zsh的通配符扩展:

setopt noglob
ls file*
setopt glob
4. 切换到bash

如果你已经熟悉了bash的行为,也可以通过切换到bash来解决该问题:

bash
ls file*
exit

以上是四种解决zsh通配符匹配错误的方法,选择哪种方法取决于个人的喜好和需求。