Bash 允许我写语句,
$ for i in {h..k} ; do echo $i ; done
但 zsh 只允许数字列表扩展,例如{8..13}
.
最好的解决方法是什么?类似seq的字符...
Bash 允许我写语句,
$ for i in {h..k} ; do echo $i ; done
但 zsh 只允许数字列表扩展,例如{8..13}
.
最好的解决方法是什么?类似seq的字符...
由于这仍然是谷歌的顶级结果,因此更新了答案:
当前版本支持 bash 样式{c1..c2}
wherec1
和c2
are 字符:
'<code>{c1..c2}' 形式的表达式,其中
c1
和c2
是单个字符(可能是多字节字符),在内部使用的任何字符序列中扩展到从c1
到范围内的每个字符。c2
对于代码点低于 128 的字符,这是 US ASCII(这是大多数用户需要的唯一情况)。如果任何中间字符不可打印,则使用适当的引号使其可打印。如果字符序列反转,则输出顺序相反,例如,'<code>{d..a}' 被替换为'<code>dcb a'。
这肯定存在于 5.0.7 及以后的版本中。我似乎无法找到zsh 发布历史中何时引入它,但记录它的第一个存档版本表明它是在 2012 年 7 月至 2014 年 11 月之间引入的。