Bash脚本无法发送指令到MySQL

这是一个Bash脚本的一部分,里面是这样的:

createdbcmd="docker exec $1 mysql -v -uroot -e \"GRANT ALL PRIVILEGES ON $dbname.* TO $2@$4 IDENTIFIED BY '$3'\"" echo $createdbcmd $createdbcmd 

回声看起来像这样:

 docker exec mysql_test_no mysql -v -uroot -e "GRANT ALL PRIVILEGES ON wordpress.* TO user@172.17.0.63 IDENTIFIED BY 'changeme'" 

运行这个确切的命令工作得很好。 通过bash脚本它就好像我只是运行“MySQL”,我得到默认的帮助信息没有错误。

试试这个方法:

 createdbcmd="docker exec $1 mysql -v -uroot -e \"GRANT ALL PRIVILEGES ON $dbname.* TO $2@$4 IDENTIFIED BY '$3'\"" echo $createdbcmd eval $createdbcmd 

没有eval ,引用的expression式不能正确解释。