我遇到了shell脚本问题。由于语法错误,grant命令在shell脚本中不起作用
由于某种原因,我已经在双引号(")
之前使用了\
字符,如我的shell脚本的以下行中所示。
SQL2 = \ “在\ $ {} DB_NAME授予所有*为\ $ {} DB_USER @ \ $ {}主机通过\ $ {} DBPASS鉴定; \”;
但随着MySQL的“批”命令语法,我需要把双引号之前和之后\${dbpass}
,这是shell脚本行我给above.When我把这样的,\"\${dbpass}\"
的一部分,在执行期间抛出语法错误。我需要解决这个问题。
这是一个更新。
这是我想要运行的shell脚本。
的ssh -t [email protected]“
苏根-c ”
回声\“ 给数据库名称:\ ”;
读DB_NAME;
回声\“ 给密码:\”;
读DB_PASS;
主机=本地主机;
SQL1 = \ “创建数据库\ $ DB_NAME; \”。
SQL2 = \“授予所有在\ $ {DB_NAME} *为\ $ {DB_NAME} @ \ $ {host}由\“\ $ {db_pass} \”; \“标识;
sql3 = \“\ $ {sql1} \ $ {sql2} \”;
echo \“============== \”;
mysql -u root -p -e \“\ $ {sql3} \”;
“
“
请参考此脚本,并请让我知道我需要这个做必要的修改
感谢
你提到'$ db_name'等变量,它们是来自shellscript的吗?其次,它真的需要双引号?是否支持单引号?什么是语法错误,脚本?你如何将这个传递给_something_和_something_? – Jite 2013-03-06 12:02:39
sql2是一个bash变量? – 2013-03-06 12:38:30
@DavideBerra:我不知道你是谁,但我看不到任何具体的东西,使它成为_bash_变量。而是一个shell变量:) – Jite 2013-03-06 13:24:26