带有args的jq搜索返回空值,适用于硬编码字符串
我有一行使用 jq 从 json 获取变量,当我使用硬编码的字符串时它工作正常,但是当我传入一个--arg然后它返回 null
输出指定键值的工作代码
jq '.regions."us-west-2"' ids.json
输出的代码 null
jq --arg region "us-east-1" '.regions."$region"' ids.json
任何帮助,将不胜感激
回答
使用索引表示法而不是点表示法:
jq --arg region "us-east-1" '.regions[$region]' ids.json
- This explains it better than I can: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors