1 个不稳定版本
0.2.1 | 2023 年 6 月 8 日 |
---|
#33 在 #dotenv
15KB
144 代码行
fenv
新的 env
命令
要求
此项目使用 clap,并且 clap 需要 rust v1.64 或更高版本。因此,此程序需要 rust v1.64 或更高版本。
入门
$ cat << EOF > /tmp/.env.sample
ENV_A=true
EOF
$ fenv -f /tmp/.env.sample ENV_B=true sh -c 'echo ENV_A=$ENV_A; echo ENV_B=$ENV_B'
ENV_A=true
ENV_B=true
用法
env command with dotenv
Usage: fenv [OPTIONS] [ARGUMENTS]...
Arguments:
[ARGUMENTS]... environment set and comand arguments [format: [NAME=VALUE]... [COMMAND [ARG]...]]
Options:
-f <DOTENV_FILES> dotenv file path
--color <COLOR_MODE> color mode [default: auto] [possible values: never, auto, always]
-h, --help Print help
-V, --version Print version
使用 -f
指定 .env
文件,将使用 dotenvy 读取指定路径的 .env
文件。假设你想加载以下内容的 .env
ENV_A=1
ENV_B=2
假设你有这个文件存储在 ~/.env
并想加载它。为此,执行以下命令
$ fenv -f ~/.env sh -c 'echo ENV_A=$ENV_A; echo ENV_B=$ENV_B'
ENV_A=1
ENV_B=2
-f
可以指定多次。在这种情况下,按指定顺序读取 -f
指定的文件。
# この場合、 ~/.env.1 -> ~/.env2 の順番に読み込まれる
fenv -f ~/.env.1 -f ~/.env.2
或者,也可以像传统 env
一样指定环境变量。
$ fenv ENV=true sh -c 'echo ENV=$ENV'
ENV=true
它们也可以结合使用。
$ cat << EOF > ~/.env
ENV_A=true
EOF
$ fenv -f ~/.env ENV_B=true sh -c 'echo ENV_A=$ENV_A; echo ENV_B=$ENV_B'
ENV_A=true
ENV_B=true
如果没有指定程序,将显示所有当前设置的环境变量。
$ fenv
PWD=/home/example
PATH=...
...
文档
符号限制
环境变量名称可以使用除 =
之外的任何字符。另一方面,环境变量值可以使用任何字符。
$ fenv 🚀=✨
...
🚀=✨
...
彩色输出
如果您想输出环境变量,您可以通过使用 --color
选项设置颜色模式。
auto
模式:默认模式。如果您想指定此模式,请设置--color=auto
。如果 stdout 是 tty,则环境变量输出将着色,否则不着色。never
模式:设置--color=never
。环境变量输出不会着色。always
模式:设置--color=always
。环境变量输出始终着色。
# colorized outputs
fenv --color=always
依赖项
~1.4–10MB
~76K SLoC