当我在本地运行jq命令时,它可以工作:
jq --arg ip "$IP" '.nodes|.app|.ip = $ip' nodes.json输出:
{“节点”:1,"is_manager":true,"ip":"127.0.0.1","cpus":16,“内存”:64 }
但是我不知道如何通过ssh远程发送它,例如,这个命令返回一个错误:
ssh -o StrictHostKeyChecking=no -i key.pem user@"172.13.1.23" "jq --arg ip "127.0.0.1" '.nodes|.app|.ip = $ip' nodes.json"输出:
jq: error:语法错误,意外的$end (Unix引用问题?)第1行:.nodes|.app|.ip = jq: 1编译错误
发布于 2019-10-15 14:08:26
$ip是双引号,因此是在本地展开的。你得避开美元信号。
ssh -o StrictHostKeyChecking=no -i key.pem user@"172.13.1.23" \
"jq --arg ip "127.0.0.1" '.nodes|.app|.ip = \$ip' nodes.json"https://stackoverflow.com/questions/58396392
复制相似问题