Arrays 动态修改数组元素[bash]

Arrays 动态修改数组元素[bash],arrays,bash,Arrays,Bash,如果我在bash中有一个数组,例如: a=(1 2 3) 是否有一种方法可以以简洁明了的方式打印数组,但同时更改每个元素的输出(向其中添加/删除文本)。假设我想打印数组,但在打印时在每个元素的末尾添加“lol”…例如 echo ${a[@]lol} 1lol 2lol 3lol 有人知道这样做的方法吗?不必创建新数组或在原始数组中进行循环?参数扩展应用于每个元素: $ a=(1 2 3) $ echo "${a[@]/%/lol}" 1lol 2lol 3lol 特别是对于打印,请考虑使用

如果我在bash中有一个数组,例如:

a=(1 2 3)
是否有一种方法可以以简洁明了的方式打印数组,但同时更改每个元素的输出(向其中添加/删除文本)。假设我想打印数组,但在打印时在每个元素的末尾添加“lol”…例如

echo ${a[@]lol}
1lol 2lol 3lol

有人知道这样做的方法吗?不必创建新数组或在原始数组中进行循环?

参数扩展应用于每个元素:

$ a=(1 2 3)
$ echo "${a[@]/%/lol}"
1lol 2lol 3lol
特别是对于打印,请考虑使用
printf
,它会重复模式,直到参数用尽:

$ printf "%slol\n" "${a[@]}"
1lol
2lol
3lol
问题提到了这方面的机制。