#env-var #interpolation #cli #direct #file #envja #jinja2-like

app envja-cli

Jinja2-like 环境变量插值的 CLI 工具

2 个不稳定版本

0.2.0 2019年3月25日
0.1.0 2019年3月19日

#337 in 值格式化

MIT 许可协议

4KB
62

Envja

Codefresh build status

使用 Jinja2-lite 语法执行环境变量插值。

包含 CLI 和库组件。

如何安装 CLI

通过 cargo

cargo install envja

简单示例

直接

envja direct '{% if VAL %}VAL={{VAL}}{% endif %}'

应返回空字符串,因为 VAL 环境变量缺失。

VAL=hello envja direct '{% if VAL %}VAL={{VAL}}{% endif %}'

应返回 VAL=hello

通过 STDIN 直接

设置与 直接 类似。

echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' | envja direct
echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' | VAL=hello envja direct

通过文件

设置与 直接 类似。

echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' > test.tmpl
envja file test.tmpl
rm test.tmpl
echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' > test.tmpl
VAL=hello envja file test.tmpl
rm test.tmpl

复杂示例

echo '{% if LINUX_HEADER %}#include <{{LINUX_HEADER}}>{% endif %}
int main() {
    return {{ RET }};
}' > test.tmpl
LINUX_HEADER=unistd.h RET=123 envja file test.tmpl
rm test.tmpl

应打印

#include <unistd.h>
int main() {
    return 123;
}

语法接受

if 语句

{% if ENV %}ENV value is {{ ENV }}{% endif %}

表达式

{{ ENV }}

注释

{# comments #}

普通文本

Regular text

依赖项

~5.5MB
~102K SLoC