我遇到了 shell 脚本的问题。
由于某种原因,我已经\
在双引号之前使用了字符(")
,如我的 shell 脚本的以下行。
sql2=\"将 \${db_name}.* 上的所有权限授予 \${db_user}@\${host},由 \${dbpass} 标识;\";
但是在MySQL的“grant”命令语法中,我需要在前面和后面加上双引号\${dbpass}
,这是我上面给出的shell脚本行的一部分。当我这样输入时\"\${dbpass}\"
,它在执行过程中会抛出语法错误。什么我是否需要解决这个问题。
这是一个更新。
这是我要运行的 shell 脚本。
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=\"将 \${db_name}.* 上的所有内容授予 \${db_name}@\${host},由 \"\${db_pass}\";\";
sql3=\ "\${sql1}\${sql2}\";
echo \"===============\";
mysql -u root -p -e \"\${sql3}\ ";
";
'
请参考此脚本,并请让我知道我需要对此进行的必要更改。
谢谢。