我想应用参数扩展(例如搜索和替换)以从大括号扩展({a..z}
)中删除空格。有可能的?
所以我有以下范围:{a..z}
它包含所有字母,我想一次性删除空格。
这是更长的示例:
$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
$ az=$(eval echo {a..z})
$ echo $az
a b c d e f g h i j k l m n o p q r s t u v w x y z
$ echo ${az// /}
abcdefghijklmnopqrstuvwxyz
是否可以直接在范围上应用参数扩展?或者至少在一个表达式中实现它,尤其是在没有将其分配给变量的情况下?
一个示例用法是为 动态指定所有参数getopts
,例如:
while getopts {a..z} arg; do
printf $arg
done
但是这不起作用(例如./az.sh -a -b -c
),因为需要先删除该范围内的空格。