
项目简介
With Env 是一个用 Go 语言开发的命令行工具,用于从指定的 .env 文件加载环境变量并运行命令。它简化了在不同环境中管理配置变量的过程。
核心特性
- 环境变量加载:从 .env 文件加载环境变量
- 命令执行:在加载的环境变量上下文中执行命令
- 多文件支持:支持多个 .env 文件路径配置
- 命令行接口:提供友好的命令行使用体验
安装方式
go install github.com/moecasts/with-env@latest
使用方法
基本用法
with-env [global options] command [command options]
全局选项
--env, -e
:指定 .env 文件路径(默认:~/.env
,./.env
)--help, -h
:显示帮助信息
功能特性
环境变量管理
- 自动从指定 .env 文件加载环境变量
- 支持多个默认文件路径
- 环境变量优先级管理
命令执行
- 在加载的环境变量上下文中执行任意命令
- 保持原命令的输入输出行为
- 支持复杂的命令参数传递
技术实现
- Go 语言:使用 Go 开发,编译为单一可执行文件
- 命令行解析:基于标准的 flag 包进行命令行参数解析
- 文件处理:高效的 .env 文件解析和环境变量加载
- 进程管理:安全的子进程创建和管理
使用场景
- 开发环境:在开发过程中快速切换不同环境配置
- 测试环境:为测试用例提供特定的环境变量配置
- 部署脚本:在部署过程中加载生产环境配置
- 多项目管理:管理多个项目的环境配置隔离
开源贡献
项目完全开源,欢迎社区贡献。访问 GitHub 仓库 了解更多详情。