加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 为什么我在zsh中使用{1..9}会出现此错误?

发布时间:2020-12-16 01:21:57 所属栏目:安全 来源:网络整理
导读:我运行以下代码 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}的错误吗? 这不是一个b
我运行以下代码
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]是一个普通的通配符表达式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读