#env #dotenv #环境 #命令行界面 #环境变量 #配置

bin+lib zenv

用 Rust 编写的 Dotenv (.env) 加载器

8 个版本 (破坏性更改)

0.8.0 2021 年 12 月 24 日
0.7.1 2021 年 6 月 25 日
0.6.0 2021 年 5 月 26 日
0.5.0 2021 年 5 月 22 日
0.1.0 2021 年 5 月 16 日

#17 in #dotenv

Download history 781/week @ 2024-03-14 686/week @ 2024-03-21 622/week @ 2024-03-28 640/week @ 2024-04-04 737/week @ 2024-04-11 489/week @ 2024-04-18 452/week @ 2024-04-25 518/week @ 2024-05-02 759/week @ 2024-05-09 932/week @ 2024-05-16 589/week @ 2024-05-23 1229/week @ 2024-05-30 914/week @ 2024-06-06 882/week @ 2024-06-13 767/week @ 2024-06-20 796/week @ 2024-06-27

3,445 每月下载次数

GPL-3.0-or-later

23KB
393

.zenv

用 Rust 编写的 Dotenv (.env) 加载器 🦀

build docs crates.io

✨ 特点

  • 速度快,因为它是用 Rust 编写的
  • 可以作为库/包或独立的命令行界面使用
  • 支持变量扩展

🚀 安装

Cargo.toml 中添加您选择的版本 zenv

[dependencies]
zenv = "<version>" # Make sure it's the latest version

命令行界面

  • 使用 cargo
cargo install zenv --features=cli
  • Arch Linux
# Using `yay`
yay -S zenv

# Using `pamac`
pamac build zenv
  • 从二进制文件中

请查看 发布页面 以获取不同操作系统的预构建二进制文件。

🤞 使用

fn main() {
    zenv::Zenv::new(".env", false).configure().ok();

    // or use macro, which expands to above statement

    zenv::zenv!()
}

阅读完整文档

命令行界面

zenv
Dotenv (.env) loader written in rust

USAGE:
    zenv [FLAGS] [OPTIONS] -- <binary> [args]...

FLAGS:
    -v, --version       Prints version
    -h, --help          Prints help information
    -x, --expand        Enable variable expansion

OPTIONS:
    -f, --file          Path to .env file

ARGS:
    <binary>            Command that needs to be executed
    [args]...           Arguments for the command

Examples:
    zenv -f .env -- node index.js
    zenv -f .env -- npm run dev
    zenv -f .env -- terraform apply

🙌 知道这些很好

基本

PORT=5000
NODE_ENV=production

# Single and double quotes are also supported
S_QUOTE='single_quoted'
D_QUOTE='double_quoted'

注释

可以通过使用 # 字符来添加注释。

# COMMENTED=commented
AT_THE_END=comment_at_the_end # I am here

# If you want # in you value then wrap the value in single or double quotes
QUOTED="quote_#_quoted" # I'll be removed

换行符和转义

可以通过换行符(\n)添加新行,但这仅在值被双引号包围时才有效。

PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nadflhsdlfsjkldfjklsdjf\n-----END RSA PRIVATE KEY-----"

# or like this
PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
adflhsdlfsjkldfjklsdjf
asdffwejdjf983283lk
-----END RSA PRIVATE KEY-----"

如果您想转义换行符,可以使用转义符(\

ESCAPED="escaped\\nnew\\nline"

替换

Zenv 还支持变量替换(默认情况下关闭)从当前文件或从操作系统。替换仅在值为双引号时才有效,即 ",可以通过以下方式实现

  • 使用 ${VAR} 模式(推荐)
  • $ 字符开始变量名,它在遇到非 _ 或字母数字字符后终止。
BASIC=basic
EXPANDED='${BASIC}_expanded' # expands to 'basic_expanded'

# System variables (assuming `PATH` is available)
SYSTEM_VARIABLE="${PATH},/this/is/new/path"

🙏 致谢

依赖关系