nid*_*idi 14 zsh character seq brace-expansion
Bash允许我写声明,
$ for i in {h..k} ; do echo $i ; done
Run Code Online (Sandbox Code Playgroud)
但是zsh只允许数字列表扩展,例如{8..13}.
什么是最好的解决方法?像字符seq的东西......
gho*_*g74 27
zsh$ setopt BRACE_CCL
zsh$ echo {a-k}
a b c d e f g h i j k
zsh$ echo {1-9}
1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
由于这仍然是谷歌的最高结果,更新的答案:
在当前版本支持的bash风格的{c1..c2}地方c1和c2有文字:
"的形式的表达式
{c1..c2}",其中c1和c2是单字符(其可以是多字节字符),扩展到在范围内的每个字符从c1到c2在任何字符序列在内部使用.对于代码点低于128的字符,这是US ASCII(这是大多数用户需要的唯一情况).如果任何插入字符不可打印,则使用适当的引用使其可打印.如果字符序列反转,则输出顺序相反,例如'{d..a}'被替换为'd c b a'.
这绝对存在于5.0.7以后.我似乎无法找到zsh发布历史中引入的内容,但是记录它的第一个归档版本表明它是在2012年7月到2014年11月之间引入的.