0
我正在研究aws雲的形成並試圖用sed和json替換句子discovery.zen.ping.unicast.hosts:[127.0.0.1]但它不能讀取存儲在$ SPARK_MASTER_IP $ Worker1下的值。cloudformation - json-sed不適用於環境變量
discovery.zen.ping.unicast.hosts: [127.0.0.1]
discovery.zen.ping.unicast.hosts: ["10.100.53.195 ","10.100.52.124 "]
echo $Worker1
10.100.53.185
echo $SPARK_MASTER_IP
10.100.53.218
"su - root -c 'sed -i -e \"s/discovery.zen.ping.unicast.hosts: \\[127\\.0\\.0\\.1\\]/discovery.zen.ping.unicast.hosts: \\[\\\"$SPARK_MASTER_IP\\\",\\\"$Worker1\\\"\\]/g\" /etc/elasticsearch/elasticsearch.yml'\n",
但上述命令的輸出是
請幫助
我正在使用cloudformation和它的工作,如果我運行這樣的命令,但是當我將命令添加到aws雲形成模板它不工作,也沒有錯誤 – niri
您可以嘗試包裝它,就像這樣'su - root -c「$(...)」',而'sed'命令將會在括號內的'...'處出現。它也可能是一個需要導出或輸入你的'env'變量(那些沒有顯示的變量)的問題...... –