【问题标题】:Can parameter expansion be nested in Bash? [duplicate]参数扩展可以嵌套在 Bash 中吗? [复制]
【发布时间】: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


    【解决方案1】:

    不,你不能。 (您可以在 zsh 中,但不能在 bash、ksh 或其他 shell 中。)

    你需要使用一个中间变量:

    foo=( 1 2 3 4 5 )
    tmp=("${foo[@]/3/bar}")
    echo "${tmp[@]:1}"
    

    【讨论】:

      【解决方案2】:

      据我所知,嵌套shell参数扩展是不可能的。恐怕你必须想出另一种方法来实现你所需要的。如果您发布代码,也许我们可以帮助您。

      【讨论】:

        猜你喜欢
        • 2018-10-20
        • 1970-01-01
        • 2017-09-27
        • 1970-01-01
        • 2018-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多