这是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 [email protected] 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,带引号的表达式将无法正确解释。

10-07 14:01