这是 Bash 脚本的一部分,里面是这样的:
createdbcmd="docker exec $1 mysql -v -uroot -e \"GRANT ALL PRIVILEGES ON $dbname.* TO $2@$4 IDENTIFIED BY '$3'\""
echo $createdbcmd
$createdbcmd
echo 看起来像这样:
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
,引用的表达式将不会被正确解释。
关于mysql - Bash脚本无法向mysql发送指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27583548/