我试图像这样使用for循环,其中范围包括大写和小写字母。问题是,当bash在一个范围内时,它不会区分大写和小写。如何使其区分大小写? TIA。
for s in {a..z,A..Z}
do
echo ${s}
done
答案 0 :(得分:2)
如果你想要那个顺序的字母,只需使用:
for s in {a..z} {A..Z}
并不要求bash
每行只允许一次支撑扩展。
目前允许的两种形式是互斥的,可以选择(两种或更多)或范围:
{<val1>,<val2>[,...]}
{<from>..<to>[..<incr>]}
大括号表达式{a..z,A..Z}
只是使用第一个形式扩展到两个单词(不是范围):
a..z
A..Z
答案 1 :(得分:2)
看起来你的语法错了。
$ echo $BASH_VERSION
3.2.25(1)-release
$ echo {a..k} {A..K}
a b c d e f g h i j k A B C D E F G H I J K
$ echo {a..k,A..K}
a..k A..K