我运行以下代码
zgrep -c compinit /usr/share/man/man{1..9}/zsh*
我明白了
zsh: no matches found: /usr/share/man/man2/zsh*
这很奇怪,因为以下工作
echo Masi{1..9}/masi
这表明我的问题可能是Zsh中的一个错误.
以上是Zsh中{1..9}的错误吗?
这不是一个bug,它在单词内部工作正常.你在这里遇到的麻烦是{1..9}不是像* is那样的通配符表达式;正如你的echo示例所示,它是一个迭代扩展.因此,您的zgrep示例与您在命令行中键入每个备用版本完全相同,然后由于man2中没有以zsh开头的手册页,因此会出错. (如果没有找到匹配,那就错了,而不是与你的大括号序列扩展有任何内在联系.)
如果你这样做,另一方面:
zgrep -c compinit /usr/share/man/man[1-9]/zsh*
你会得到你期望的结果,因为[1-9]是一个普通的通配符表达式.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。