我的贝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"}
我正在尝试通过外壳程序脚本创建jq命令,但我不知道我在做什么:(
最佳答案
短而甜美(如果您的jq 1.5或更高):
jq -Rn '[inputs | {(.): env[.]}] | add' tmp.txt
关于bash - 生成包含列表中命名的 shell 变量的JSON映射,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59778578/