【发布时间】:2015-12-30 21:16:29
【问题描述】:
我想申请parameter expansion(例如搜索和替换)以从brace expansion({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),因为需要先删除该范围内的空格。
【问题讨论】:
标签: bash syntax brace-expansion parameter-expansion