使用存储在dotfile中的env运行命令
denv的Python项目详细描述
使用env运行script
从隐式.env文件注入变量的超简单运行程序 进入你选择的命令。
denv COMMAND [ARGS]
当前目录中需要一个.env文件,格式为:
KEY=VALUE FOO=BAR AGE=29 host=hostname=foo user=bar password=false
示例
创建保存变量的.env文件
$ cat .env CONNECTION_STRING=host=foo user=bar password=baz
在POSIX命令中使用它们:
$ denv env | grep CONNECTION_STRING host=foo user=bar password=baz
在运行python脚本时使用它们:
$ denv python -c 'import os;print(os.environ["host"])' foo user=bar password=baz
为什么?
在TrustPilot,我们严格遵循 12-factors设计软件即服务 应用程序,尤其是应用程序外部的isolating your configuration概念。
使用环境变量是注入这些 在部署期间配置为应用程序。但我想在本地运行 将这些env-vars注入运行时非常简单 我自己。
环顾四周,您会很快发现许多实现:
- https://direnv.net/
- https://github.com/bkeepers/dotenv
- https://github.com/motdotla/dotenv
- https://github.com/pedroburon/dotenv
- https://github.com/josegonzalez/php-dotenv
但我倾向于在两个方面不同意他们的观点:
- 它们的目标往往是取代运行时默认值 environmentlib,只需读取一个文件就可以重载
- ^其中{a11}缺乏对 连接字符串其中每行可以有多个=。
我想把它完全分开,所以运行时只关心 env-vars及其标准的访问方式,然后 runner注入这些变量是它唯一做的事情。
-`sloev<;sloev.github.io>;`\uu