shell脚本中密码区域附近的grant命令语法错误
我已经创建了一个类似这样的shell脚本。但是grant命令中出现语法错误,我认为靠近密码区域。如果有人可以,请帮助我shell脚本中密码区域附近的grant命令语法错误,shell,Shell,我已经创建了一个类似这样的shell脚本。但是grant命令中出现语法错误,我认为靠近密码区域。如果有人可以,请帮助我 ssh -t qbadmin@10.3.2.0 ' su root -c " echo \"Give db name :\"; read db_name; echo \"Give password :\"; read db_pass; host=localhost; sql1=\"create database \$db_name;\";
ssh -t qbadmin@10.3.2.0 '
su root -c "
echo \"Give db name :\";
read db_name;
echo \"Give password :\";
read db_pass;
host=localhost;
sql1=\"create database \$db_name;\";
sql2=\"grant all on \${db_name}.* to \${db_name}@\${host} identified by \"\${db_pass}\";\";
sql3=\"\${sql1}\${sql2}\";
mysql -u root -p -e \"\${sql3}\";
";
'
数据库已在远程计算机中成功创建,但grant命令返回错误。。!我猜错误可能是因为grant命令中在${db_pass}之前和之后使用了\“character”。请帮助我解决这个问题
谢谢。嵌套引用总是很棘手的。你为什么不以
root
的身份对远程主机执行ssh
ssh -t root@10.3.2.0 '
echo "Give db name :"
read db_name;
echo "Give password :"
read db_pass
host=localhost
sql1="create database \$db_name;"
sql2="grant all on ${db_name}.* to ${db_name}@${host} identified by ${db_pass};"
sql3="${sql1}${sql2}"
mysql -p -e "${sql3}"
'