shell脚本里执行多个sql语句问题

我本意是想先手动输入root的的密码,root用户登入后创建用户DDAP和数据库DDAP,然后mysql-u(手动输入DDAP)-p(手动输入DDAP)登入,以下是dda... 我本意是想先手动输入root的的密码,root用户登入后创建用户DDAP和数据库DDAP,
然后mysql -u(手动输入DDAP) -p(手动输入DDAP) 登入,
以下是ddap-mysql.sh脚本内容:
#!/bin/sh
echo "please input root password"
mysql -uroot -p$1 << EOF
\. /usr/src/DDAP-1.CreateUser.SQL
\. /usr/src/DDAP-2.CreateDatabase.SQL
mysql -uDDAP -p$2
\. /usr/src/DDAP-3.CreateTable.SQL
\. /usr/src/DDAP-4.CreateProcedureAndFunction.SQL
\. /usr/src/DDAP-5.CreateData.SQL
EOF

但是只有root用户有输入,mysql -uDDAP -p$2 这一行就输入不了
[root@localhost src]# sh ./ddap-mysql.sh
please input root password
Enter password:
[root@localhost src]#
展开
 我来答
miniapp30ckv39LZ7vSp
推荐于2017-10-09 · TA获得超过743个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:478万
展开全部
你没有理解输入重定向的概念。在你上面的代码中,mysql -uDDAP -p$2是包含在输入重定向范围内的,所以不会提示你输入密码的。
你的$1 和$2也没有定义,可以参考如下写法:
#!/bin/sh
read -p "please input root password" pwd
mysql -uroot -p$pwd << EOF
\. /usr/src/DDAP-1.CreateUser.SQL
\. /usr/src/DDAP-2.CreateDatabase.SQL
\. /usr/src/DDAP-3.CreateTable.SQL
\. /usr/src/DDAP-4.CreateProcedureAndFunction.SQL
\. /usr/src/DDAP-5.CreateData.SQL
EOF
更多追问追答
追问
你的意思我懂  ,你的这个我自己可以实现  ,但是问题是我是想操作两个mysql命令,即下面几个
DDAP-3。。。DDAP-4。。。DDAP-5。。。 这几个sql语句用mysql -uDDAP -p$2 登入 进去,这个用户:DDAP 是在DDAP-1.CreateUser.SQL定义的
追答
这个分开写就好了嘛。。
#!/bin/sh
read -p "please input root password" pwd
mysql -uroot -p$pwd << EOF
\. /usr/src/DDAP-1.CreateUser.SQL
\. /usr/src/DDAP-2.CreateDatabase.SQL
EOF
read -p "please input DDAP password" pwd2
mysql -uDDAP -p$pwd2 <<EOF
\. /usr/src/DDAP-3.CreateTable.SQL
\. /usr/src/DDAP-4.CreateProcedureAndFunction.SQL
\. /usr/src/DDAP-5.CreateData.SQL
EOF
影Sun云
2013-09-26 · TA获得超过583个赞
知道小有建树答主
回答量:1324
采纳率:0%
帮助的人:694万
展开全部
$2无定义,输入什么呢?最好用read -p提示输入密码,这样可以保有唯一的密码变量;
更多追问追答
追问
你帮我补充下,怎么定义怎么输入?帮我修改下 ,    谢谢了!
追答
echo "please input root password"改
read -p "please input root password" passwds;
定义了$passwds
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式