【发布时间】:2020-02-09 03:51:15
【问题描述】:
我有一个envs.json 文件,内容如下:
{
"dev-cc1": { "url": "https://my-url.com" },
"dev-cc2": { "url": "https://my-url.com" }
}
我想根据环境变量$ENV 获取网址,但我遇到的所有其他相关文章似乎都不起作用,或者我只是读错了。我想我错过了一些非常微不足道的东西......
我尝试过的事情:
export ENV="dev-cc1"
jq --arg ENV "$ENV" -n '."env.ENV"' envs.json
因为我的环境变量中有一个破折号,所以我在它周围引用,然后尝试在里面引用它。然而 jq 返回null。
硬编码查询有效 (jq --arg ENV "$ENV" '."dev-cc1"' envs.json),而且我还确认环境变量已正确传入 jq --arg ENV "$ENV" -n 'env.ENV'。
我尝试了很多不同的方法来替换这个 env var,但都没有奏效。谁能给这个第二双眼睛?
【问题讨论】:
-
jq --arg ENV "$ENV" '.[$ENV]' envs.json?-n没有意义,.env也不是必需的。