Ada*_*dam 2 bash shell environment-variables jq
我的 shell-fu 处于初级以下水平。我有一个文件,其中包含一些恰好是环境变量名称的行。
例如
ENV_VAR_A
ENV_VAR_B
...
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用此文件生成一个 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"}
Run Code Online (Sandbox Code Playgroud)
我正在尝试通过 shell 脚本创建 jq 命令,但我不知道我在做什么:(
简短而甜蜜(如果您有 jq 1.5 或更高版本):
jq -Rn '[inputs | {(.): env[.]}] | add' tmp.txt
Run Code Online (Sandbox Code Playgroud)