zsh:echo F# - 找不到匹配项

时间:2017-09-17 06:16:17

标签: bash zsh

让我们尝试使用默认设置zsh中的命令:

echo F#

将导致以下错误消息:

zsh: no match found: F#

我的stackoverflow搜索表明可以通过设置setopt nonomatch关闭它,然后zsh表现得更像bash:glob模式,如果没有匹配则传递给程序找到。它就像一个魅力。

我的好奇心并不止于此。我还有一个问题:#在上述陈述中试图匹配的内容是什么?我搜索了bash和zsh文件但还没有得到明确的答案。希望有人能清除我的怀疑。感谢。

1 个答案:

答案 0 :(得分:2)

您似乎设置了EXTENDED_GLOB选项。在这种情况下,F#被视为匹配零个或多个字母F的模式(参见正则表达式F*)。

当您运行echo F#时,shell会尝试将F#扩展为名称为空字符串FFF的所有文件。如果没有,则匹配失败,并且设置NOMATCH选项(默认情况下),失败会产生观察到的错误。