有没有办法在 makefile 中使用 .env 变量?
Is there any way to use a .env variable in a makefile?
我有一个在 docker 容器中设置的测试管道。使用 .env 文件将人造环境变量传递到环境中。
在我的 .env 文件中,我有这一行:
MYSQL_ROOT_PASSWORD=dbpassword
在我的 Makefile 中,我有以下几行:
test-db:
echo "create database dbname_test" | mysql -u root -h database -p${MYSQL_ROOT_PASSWORD}
这不起作用,因为我在 运行 我的测试管道时得到以下输出:
ERROR 2002 (HY000): Can't connect to MySQL server on 'database' (115) make: *** [Makefile:10: test-db] Error 1
有没有一种方法可以在我的 makefile 中访问我的 .env 文件中的值?
也许你应该在 -p
和 ${MYSQL_ROOT_PASSWORD}
之间添加一个空格 space
echo "create database dbname_test" | mysql -u root -h database -p ${MYSQL_ROOT_PASSWORD}
我有一个在 docker 容器中设置的测试管道。使用 .env 文件将人造环境变量传递到环境中。
在我的 .env 文件中,我有这一行:
MYSQL_ROOT_PASSWORD=dbpassword
在我的 Makefile 中,我有以下几行:
test-db:
echo "create database dbname_test" | mysql -u root -h database -p${MYSQL_ROOT_PASSWORD}
这不起作用,因为我在 运行 我的测试管道时得到以下输出:
ERROR 2002 (HY000): Can't connect to MySQL server on 'database' (115) make: *** [Makefile:10: test-db] Error 1
有没有一种方法可以在我的 makefile 中访问我的 .env 文件中的值?
也许你应该在 -p
和 ${MYSQL_ROOT_PASSWORD}
echo "create database dbname_test" | mysql -u root -h database -p ${MYSQL_ROOT_PASSWORD}