mysql使用makefile创建数据库

pqwbnv8z  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(281)
include .env

help:
    @echo ""
    @echo "usage: make COMMAND"
    @echo ""
    @echo "Commands:"
    @echo "  mysql-create-db     Create mysql database"

mysql-create-db:
    @docker-compose exec -T mysqldb mysql -u"$(MYSQL_USER)" -p"$(MYSQL_PASSWORD)" -e \'create database abcd\'

对于简单的“show databases”查询也会抛出错误。
我不知道为什么它不起作用

bzzcjhmw

bzzcjhmw1#

问问题的第一条规则:总是把你输入的命令和你得到的输出,剪切和粘贴到你的问题中。如果输出太长、太乱而无法包含,那么至少要始终包含实际的错误或不正确的输出,以及前后几行作为上下文。
编写makefile的第一条规则:从不加载项 @ 直到你的makefile完全工作。你隐瞒了关键的细节,这是在伤害自己。或者,阅读http://make.mad-scientist.net/managing-recipe-echoing/ 另一种处理方法。
编写makefile的第二条规则:在尝试将命令添加到makefile配方之前,始终确保在shell命令行中键入时命令有效。
我对docker不太了解,但我怀疑这是一个空壳报价问题而不是制造问题。。。如果剪切并粘贴到shell提示符,我怀疑这个命令不起作用。那是因为我认为你的引用是错误的。
试试这个(注意mysql命令的不同引用):

mysql-create-db:
        @docker-compose exec -T mysqldb mysql -u"$(MYSQL_USER)" -p"$(MYSQL_PASSWORD)" -e "'create database abcd'"

这样可以确保最后的命令是一个包含引号的单词。

相关问题