【问题标题】:Manipulate a Variable for a final String in Bash在 Bash 中为最终字符串操作变量
【发布时间】:2022-06-10 18:01:12
【问题描述】:

我在 GitLab 运行器环境和 CICD 变量中工作,在我的 bash 脚本中有两个熟悉的字符串,我将在中间更改其中一个字符串以构建最终字符串。例如:

$CICD_MY_INTERNAL_STRING
$CICD_MY_EXTERNAL_STRING

所以现在这些字符串在我的函数“workerapp()”中,我会让这个字符串动态化。

function workerapp() {
echo -e $CICD_MY_$1_STRING
}

现在我会这样调用函数

workerapp INTERNAL
workerapp EXTERNAL

得到这些结果

"$CICD_MY_INTERNAL_STRING" 和 "$CICD_MY_EXTERNAL_STRING" 在其他函数/调用中使用它。

目前我只得到这些结果 "$CICD_MY_EXTERNAL" ... 没有我的其余字符串。

【问题讨论】:

    标签: bash


    【解决方案1】:

    您可以使用${!varname} 构造。

    workerapp() {
        local varname="CICD_MY_$1_STRING"
        echo -e "${!varname}"
    }
    
    workerapp INTERNAL
    workerapp EXTERNAL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      相关资源
      最近更新 更多