0

我正在尝试编写一个 shell 脚本,它从文件中读取变量并将其替换为 GoCD 中定义的环境变量。

现在我面临的挑战是我正在尝试使用变量的值作为参数

下面是我的脚本

#!/bin/bash 
filename="keyword.txt" 
while IFS="," read f1 f2 f3
do
        f6="Env_var"
        a="$($f6)"
        echo $a
       # echo "$f1" "$f3"
       # sed -i s|$f1|$($f6)|g /var/lib/go-agent/pipelines/StormCluster-Deploy-2/"$f3".xml
done < "$filename"

同样在 GoCD 环境变量中,我给出了 Env_var = 1234

现在这里的脚本给出输出 $Env_var

我希望 $Env_var 值(即 1234 在 GoCD 中定义为环境变量)应该是输出

请帮忙!

4

1 回答 1

0

我认为问题不在于 GoCD,而在于错误的参数扩展。你可能应该做的是:

a="${!f6}"

您可以在Shell Parameter Expansion部分阅读更多相关信息。

于 2017-03-19T16:29:49.900 回答