例如我想在 Makefile 中定义 mysqldump, 然后读取 .env 中的参数配置。
.env 文件
DB_DATABASE=somedb
DB_USERNAME=someuser
DB_PASSWORD=password
Makefile
直接 include 就可以
include .env
.PHONY: mysqldump
mysqldump:
mysqldump -u$(DB_USERNAME) -p$(DB_PASSWORD) $(DB_DATABASE) > database/sql/data.sql
make 执行
> make mysqldump
mysqldump -usomeuser -ppassword somedb > database/sql/data.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
确实满足需求。
唯一的遗憾是密码在命令行里,但是在开发环境,这个问题可以接受。