【发布时间】:2020-05-03 19:45:56
【问题描述】:
我的shell-fu处于初级水平以下。我有一个文件,其中包含一些恰好是环境变量名称的行。
例如
ENV_VAR_A
ENV_VAR_B
...
我想要做的是使用这个文件生成一个 JSON 字符串,其中包含使用 jq 的命名变量的名称和当前值,如下所示:
jq -n --arg arg1 "$ENV_VAR_A" --arg arg2 "$ENV_VAR_B" '{ENV_VAR_A:$arg1,ENV_VAR_B:$arg2}'
# if ENV_VAR_A=one and ENV_VAR_B=two then the preceding command would output
# {"ENV_VAR_A":"one","ENV_VAR_B":"two"}
我正在尝试通过 shell 脚本创建 jq 命令,但我不知道自己在做什么:(
【问题讨论】:
-
@CharlesDuffy 这进一步证明了我在这方面遇到的困难......我知道它不必导出到环境中,但如果它是环境变量,则此语法有效(不确定是否应该做一些不同的事情)。我已经能够运行命令来做我想做的事,但现在我需要动态地做(基于白名单)
-
@CharlesDuffy 是的,但我也希望生成的 JSON 字符串的键也来自文件。
标签: bash shell environment-variables jq