跳到正文

.env 文件解析与转换

.env Parser & Converter

解析 .env 文件,并转成 JSON、YAML、shell export、Docker 或 Kubernetes 格式。

按 `dotenv` 的方式读一个 `.env` 文件——引用规则、`export` 前缀、`${VAR}` 插值——再输出为 JSON、YAML、shell export、Compose 的 `environment:` 块、Kubernetes 的 ConfigMap 或 Secret,或者一份整理过的 `.env`。

🔒 完全在你的浏览器里运行dotenvenvconvertconfig

一个扁平对象。大多数配置加载器和 CI 的密钥导入都吃这个。

.env 输入

放进一个 .env 文件

在这个标签页里读取。不上传,也不保存。

`export` 会被接受并忽略。单引号里是字面量;双引号会展开 `\n`,也可以跨行;不加引号的值在空格后跟 `#` 的地方结束。

JSON

变量

8

读到的行

8

做过插值

1

怎么用

  1. 粘贴或拖入 .env

    在这个标签页里读取;不上传,也不存储任何东西。注释、空行和 `export` 前缀都能理解。

  2. 选目标格式

    选择器下方的说明写着每一种是干什么用的。ConfigMap 和 Secret 还会要一个资源名和命名空间。

  3. 检查重复项和读不了的行

    赋值了两次的键会按名字报出来——这里和 `dotenv` 一样是最后一次赋值生效,但不是每个加载器都同意。无法解析的行会带行号列出。

  4. 截图之前先遮住

    遮罩开关会把键名看起来像秘密的值涂掉。它按名字匹配,所以把它当作一份好意,而不是保证。

常见问题

为什么 `p@ss$word#x` 没有在 `#` 处被截断?

因为它在单引号里,那里没有任何东西是特殊的。在不带引号的值里,注释从一个空格后跟 `#` 开始,所以 `abc#def` 保留井号,`abc #def` 不保留。双引号展开 `\n` 和 `${VAR}`;单引号什么都不展开。

插值会读到我的 shell 环境吗?

不会。`${VAR}` 只对同一文件里前面的行求值——这个页面接触不到你的环境,就算能也不会去读。引用了上方没有定义的东西时,它按原样保留。

Secret 输出可以安全提交吗?

不可以。Kubernetes Secret 存的是 Base64,那是编码,不是加密——任何能读这个文件的人一条命令就能读出这些值。Sealed Secrets、SOPS 或外部密钥存储才是让它能安全提交的东西。

多行的值会怎样?

双引号的值可以跨行,并被读成一个值——一个 PEM 私钥就是这样进了 `.env` 的。它完好地进入 JSON 和 YAML;在 shell 和 docker 输出里它用单引号包起来,这让换行保持为字面换行。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。