【发布时间】:2015-12-17 15:36:41
【问题描述】:
我正在尝试使用 shell 脚本中的 jq 从以下 json 访问字段“my-tag”:
json 文件:
{
"tag": {
"value": "hello"
},
"my-tag": {
"value": "hello-my-tag"
}
}
Shell 脚本:
#!/bin/bash
main()
{
search="my-tag"
file="myjson.json"
value=($(jq ".$search.value" "$file"))
echo $value
}
main "$@"
在执行此脚本时,我收到以下错误:
error: tag is not defined
.-tag.value
^^^
1 compile error
如何在 shell 脚本中正确提取字段?
【问题讨论】:
-
.-tag.value使它看起来像 shell 变量$tag不像您认为的那样包含my-tag(而是包含-tag)。你确定它的内容吗?