2 个版本
使用旧的 Rust 2015
0.1.1 | 2018 年 6 月 18 日 |
---|---|
0.1.0 | 2018 年 6 月 18 日 |
#1823 in 开发工具
19KB
311 行
Eve: 环境编辑器
eve 工具读取指定的文件,如果没有指定文件,则读取标准输入,将所有 {{VAR}}
替换为同名的环境变量,例如 $VAR
。此工具主要用于替代使用 sed
将环境变量插入到文件中。在 Docker 中使用时很常见。
安装
二进制文件
自动
cargo install eve
手动
您可以在版本发布部分下载预构建的二进制文件或从源创建一个。
$ git clone https://github.com/Aaronepower/eve.git
$ cd eve
$ cargo build --release
Linux/OSX
# sudo mv target/release/eve /usr/local/bin
Windows
- 为 eve 创建一个文件夹
- 搜索
env
- 打开 "编辑你的环境变量"
- 编辑
PATH
- 将文件夹路径追加到字符串末尾,例如:
<path>;C:/eve/;
库
eve = "0.1"
示例
以下是一个示例,展示如何使用环境变量替换 nginx 配置中的变量,并与等效的 sed
命令进行比较。
nginx.conf
server {
listen 80;
listen [::]:80;
server_name {{NGINX_HOST}};
location / {
proxy_pass {{NGINX_PROXY}};
proxy_next_upstream error timeout invalid_header http_500 http_502
http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host {{NGINX_HOST}};
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
.env
NGINX_HOST=localhost
NGINX_PROXY=localhost:8000
命令
sed
sed -e "s|{{NGINX_HOST}}|$NGINX_HOST|" \
-e "s|{{NGINX_PROXY}}|$NGINX_PROXY|" \
nginx.conf
eve
eve nginx.conf
输出
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
proxy_pass localhost:8000;
proxy_next_upstream error timeout invalid_header http_500 http_502
http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host localhost;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
依赖关系
~4–12MB
~137K SLoC