如果这是一个潜在的明显问题,我很抱歉,但我不知道这^()
意味着什么
ls ^(*.c|*.md)
在 上zsh
,此参数扩展到除*.c
和*.md
文件之外的所有内容。
- 什么是
^
? ()
在这种情况下括号是什么意思- 该命令
^(*.c||*.md)
也有效...我应该使用|
or||
吗?
如果这是一个潜在的明显问题,我很抱歉,但我不知道这^()
意味着什么
ls ^(*.c|*.md)
在 上zsh
,此参数扩展到除*.c
和*.md
文件之外的所有内容。
^
?()
在这种情况下括号是什么意思^(*.c||*.md)
也有效...我应该使用|
or||
吗?
在 Zsh 中,
^
是一个全局运算符EXTENDED_GLOB
,当设置时可用,匹配除以下模式之外的任何内容。括号将模式分组;这对于
|
需要括号的析取 ( ) 非常有用,这样析取就不会被解释为管道。^(*.c||*.md)
表示“除了匹配的文件*.c
、名称为空的文件或匹配的文件之外的任何内容*.md
”;空名称是没有用的,所以你应该使用|
.