0

我正在嘗試編寫一個shell腳本,它從文件讀取變量並將其替換爲GoCD中定義的環境變量。在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中定義爲環境變量應該是輸出

請幫助!

回答

0

我認爲問題不在於GoCD,而是在錯誤的參數擴展中。什麼你應該做的是:

a="${!f6}" 

您可以在Shell Parameter Expansion部分閱讀更多關於這一點。

+0

這甚至沒有執行,因爲甚至沒有打印值 – Yushi

+0

它在bash中適用於我。請在此嘗試:https://www.jdoodle.com/embed/v0/bash/4.2.42/2DR – grundic