用于将环境变量复制到config.json的Shell脚本?

问题描述 投票:0回答:1

我对此有点抓狂。我正在尝试编写一个 shell 脚本,该脚本通过所有环境变量进行索引,然后覆盖 config.json 文件中的变量。

我有一个在 docker 文件中运行的演示角度应用程序,我希望能够将配置变量设置为环境变量。我知道这不是最安全的方法,但这段代码永远不会投入生产,它赋予我的灵活性是可取的。

到目前为止我有这个:

#!/bin/sh

env | while IFS= read -r line; do
  value=${line#*=}
  name=${line%%=*}
  
  jq --arg name "$name" --arg value "$value" '.[$name] = $value' src/assets/config.json > src/assets/config.json
done


jq . src/assets/config.json

输出的 json 文件始终以空结束。

shell environment-variables jq
1个回答
0
投票

JQ 有一个内置的

env
函数,它引用当前环境并将其公开为字典。

因此,您需要的是:

jq -n env >src/assets/config.json
© www.soinside.com 2019 - 2024. All rights reserved.