我的远程服务器上有一个json文件
远程主机的位置:" .docker / test.josn"
{ " KEY1" :" Value1", "密钥2" :" Value2" }
我想从本地计算机向test.josn添加新元素。我正在尝试跟随命令,但它无法正常工作。
ssh <test-server> "jq '.key3 = "Value3"' .docker/test.json > .docker/test2.json && mv .docker/test2.json .docker/test.json"
它给了我以下错误:
bash: .docker/test2.json: No such file or directory
答案 0 :(得分:1)
你有一个shell引用问题。你没有逃脱内部双引号。
您可以尝试以下操作:
ssh <test-server> 'jq ".key3 = \"Value3\"" .docker/test.json > .docker/test2.json && mv .docker/test2.json .docker/test.json'
用单个引号替换外部双引号,因为在此语句中不需要变量扩展。