可能重复:
Can ${var} parameter expansion expressions be nested in bash?
是否可以嵌套shell参数扩展(${})
?
如果我想做这样的事情:
foo=( 1 2 3 4 5 )
echo ${${foo[@]/3/bar}:1}
答案 0 :(得分:13)
您需要使用中间变量:
foo=( 1 2 3 4 5 )
tmp=("${foo[@]/3/bar}")
echo "${tmp[@]:1}"
答案 1 :(得分:7)
据我所知,嵌套shell参数扩展是不可能的。我担心你必须找到另一种方法来实现你所需要的。如果您发布代码,也许我们可以帮助您。