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'变量(那些没有显示的变量)的问题...... –