小编ere*_*non的帖子

在 shell 中为 $* 的每个元素添加一个字符串

我正在寻找最简单的解决方案,将其$*作为输入,并扩展到以给定字符串为前缀和后缀的每个元素:

$*=foo bar baz
<solution(x,y)>=xfooy xbary xbazy
Run Code Online (Sandbox Code Playgroud)

我可以进行前置或附加,但不能同时进行:

echo ${*/#/x}
# prints xfoo xbar xbaz
Run Code Online (Sandbox Code Playgroud)
echo ${*/%/y}
# prints fooy bary bazy
Run Code Online (Sandbox Code Playgroud)

我无法结合这两种解决方案。该文档声称在 parameter=* 情况下扩展返回的值是一个列表,但我无法这样使用它。我想将生成的值数组作为单独的参数传递给另一个命令,因此简单地构建单个字符串是行不通的。

shell brace-expansion

5
推荐指数
2
解决办法
964
查看次数

标签 统计

brace-expansion ×1

shell ×1