With Env

With Env

一个 Go 语言开发的环境变量管理工具,支持从指定 .env 文件加载环境变量运行命令。

2024年7月29日
GitHub

项目简介

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 仓库 了解更多详情。