jq使用--arg参数查询返回null,硬编码字符串可正常运行如何解决
问题成因
在你使用的jq表达式中,被双引号包裹的$region会被jq识别为固定字符串字面量,而非通过--arg传入的动态变量。你写的.regions."$region"实际是在查询regions字段下名为$region的键,而非你传入的us-east-1,因此匹配不到对应内容返回null。
解决方法
将静态的点键查询替换为方括号动态索引语法,直接引用变量即可,不需要给变量额外加双引号,正确代码如下:
jq --arg region "us-east-1" '.regions[$region]' ids.json
内容的提问来源于stack exchange,提问作者capa_matrix
相关产品推荐
相关产品推荐

