有没有办法在 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}