【发布时间】:2017-06-11 04:44:17
【问题描述】:
可能重复:
Can ${var} parameter expansion expressions be nested in bash?
是否可以嵌套shell参数扩展(${})?
如果我想做这样的事情:
foo=( 1 2 3 4 5 )
echo ${${foo[@]/3/bar}:1}
【问题讨论】:
标签: bash
可能重复:
Can ${var} parameter expansion expressions be nested in bash?
是否可以嵌套shell参数扩展(${})?
如果我想做这样的事情:
foo=( 1 2 3 4 5 )
echo ${${foo[@]/3/bar}:1}
【问题讨论】:
标签: bash
不,你不能。 (您可以在 zsh 中,但不能在 bash、ksh 或其他 shell 中。)
你需要使用一个中间变量:
foo=( 1 2 3 4 5 )
tmp=("${foo[@]/3/bar}")
echo "${tmp[@]:1}"
【讨论】:
据我所知,嵌套shell参数扩展是不可能的。恐怕你必须想出另一种方法来实现你所需要的。如果您发布代码,也许我们可以帮助您。
【讨论】: