You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SSH远程执行命令并解析JSON的room.number字段

问题解决方法

问题出在本地执行SSH命令时的引号转义错误,嵌套的引号被本地shell解析后,传到远程机器的jq命令已经变形,导致无法正确识别room.number字段。

可以通过以下两种方式修改命令:

方法1:正确转义双引号和单引号

使用'\''在单引号包裹的字符串中插入单引号,同时用\"转义双引号,确保远程机器接收到的jq命令完全正确:

ssh -o "StrictHostKeyChecking=no" -i /root/.ssh/id_rsa $ACCOUNT@$TARGET_IP -t 'sudo su - -c "jq -r '\''.data.\"room.number\"'\'' /tmp/ca.json.1"'

方法2:改用数组索引式的字段引用

把.data."room.number"改成.data["room.number"],减少双引号的使用,降低转义复杂度:

ssh -o "StrictHostKeyChecking=no" -i /root/.ssh/id_rsa $ACCOUNT@$TARGET_IP -t 'sudo su - -c "jq -r '\''.data[\"room.number\"]'\'' /tmp/ca.json.1"'

这两种方法都能让远程机器正确执行jq命令,返回1111的结果。

内容的提问来源于stack exchange,提问作者Spark1231

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:31:03