#env-var #nested #clap #parser #string #value

nested-env-parser

Nested Env Parser 是一个用于获取包含嵌套环境变量的字符串最终值的 crate。

2 个稳定版本

1.1.0 2023 年 5 月 31 日
1.0.0 2023 年 5 月 12 日

#760 in 配置


mongodb-macro 中使用

MIT 许可证

7KB
69

crates.io documentation MIT License

nested-env-parser

Nested Env Parser 是一个用于获取包含嵌套环境变量的字符串最终值的 crate。

安装

使用 cargo 安装

cargo install nested-env-parser

用法

在 Unix 上

use clap::Parser;
use nested_env_parser::Env;

#[derive(Clone, Debug, Parser)]
struct Opts {
    #[clap(env)]
    value_with_env: Env,
}

fn main() {
    std::env::set_var("VALUE1", "Hello,");
    std::env::set_var("VALUE2", "world");
    std::env::set_var("VALUE_WITH_ENV", "$VALUE1 ${VALUE2}!");

    let opts = Opts::parse();

    assert_eq!("Hello, world!", &opts.value_with_env);
}

在 Windows 上

use clap::Parser;
use nested_env_parser::Env;

#[derive(Clone, Debug, Parser)]
struct Opts {
    #[clap(env)]
    value_with_env: Env,
}

fn main() {
    std::env::set_var("VALUE1", "Hello");
    std::env::set_var("VALUE2", "world");
    std::env::set_var("VALUE_WITH_ENV", "%VALUE1%, %VALUE2%!");

    let opts = Opts::parse();

    assert_eq!("Hello, world!", &opts.value_with_env);
}

当前版本:1.1.0

许可证:MIT

依赖

~3.5MB
~22K SLoC