【发布时间】:2018-10-23 23:45:01
【问题描述】:
试图将 bash shell 变量传递给 jq 过滤器
JSON:
{
"server1": {
"port": 3333,
"name": "foo",
"timesincelast": 248054
},
"server2": {
"port": 4444,
"name": "bar",
"timesincelast": 248054
}
}
Bash 命令试图执行:
servername='server1'
jq --arg servername "$servername" '.$servername .port'
但出现错误
jq: error: syntax error, unexpected '$' (Unix shell quoting issues?) at
<top-level>, line 1:
但直接替换有效
jq '.server1 .port'
【问题讨论】:
-
不..没用