免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: 傻卟拉几
打印 上一主题 下一主题

【新手】如何使用shell脚本操作数据库呢? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2011-11-10 17:15 |只看该作者
回复 20# cjaizss


    syntax error: unexpected end of file 错误信息

论坛徽章:
0
22 [报告]
发表于 2011-11-10 17:24 |只看该作者
本帖最后由 傻卟拉几 于 2011-11-10 17:38 编辑

回复 1# 傻卟拉几


    #!/bin/bash
echo -n 'Please Input your ent_id: '
read ent_id
echo -n 'Please Make Sure you Enter is Correct:[y/n]'
read input
if [ $input == y ];then
  
mysql --user=root --password=123456 --host=localhost <<EOF>a.txt

select CONCAT(ent_id,',',sd_oid,',',ad_oid,',',prod_id,',',status)  from sdm.ent where ent_id=$ent_id;

EOF

sed '1d' a.txt > b.txt
rm -rf a.txt
b=`cat b.txt | wc -l`
   if [ $b == 0 ];then
       echo 'Please retype !!!'
   else                     
       sd_oid=`awk -F , '{print $2}' b.txt`
         prod=`awk -F , '{print $4}' b.txt`  
       echo -n 'Please enter the name of your prod_id: '
       read prod_id                                                            
       if [ $prod == $prod_id ];then                                            

          mysql --user=root --password=123456 --host=localhost <<EOF>a.txt      
#                                                                                
          select CONCAT(ent_id,',',status)  from sdm.tenant where ent_id=$ent_id;
#                                                                              
          EOF                                                                    
#                                                                                
#         sed '1d' a.txt > c.txt                                                
#         rm -rf a.txt                                                           
#         c=`cat c.txt | wc -l`
       echo 'successsfully!'
      fi
  fi
fi

为什么将第二次引用mysql就会有a.sh: line 38: syntax error: unexpected end of file 错误信息

高手快来

论坛徽章:
0
23 [报告]
发表于 2011-11-10 18:25 |只看该作者
回复 20# cjaizss


echo -n '请输入ID:'   
read  id
if  [  $id  ==  0 ];then
   ..
else
fi
怎么让输入错误  重新输入呢?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
24 [报告]
发表于 2011-11-11 08:54 |只看该作者
回复  cjaizss


echo -n '请输入ID:'   
read  id
if  [  $id  ==  0 ];then
   ..
else
fi
怎 ...
傻卟拉几 发表于 2011-11-10 18:25



    出错应该有Error吧,应该是从标准错误中打印出来吧,你把标准错误往标准输出重定向,然后再定向到管道,查查看看

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
25 [报告]
发表于 2011-11-11 08:56 |只看该作者
出错应该有Error吧,应该是从标准错误中打印出来吧,你把标准错误往标准输出重定向,然后再定向到管 ...
cjaizss 发表于 2011-11-11 08:54



    我一般不太喜欢把过程信息写进硬盘,用管道连吧.

论坛徽章:
3
处女座
日期:2014-11-05 11:02:4315-16赛季CBA联赛之四川
日期:2015-12-10 14:37:4015-16赛季CBA联赛之天津
日期:2017-09-08 18:39:34
26 [报告]
发表于 2011-11-11 13:18 |只看该作者
本帖最后由 godymoon 于 2011-11-11 13:19 编辑
  1. mysql -u $db_user -p$db_pass $db_name -s <<HERE
  2. your sql
  3. exit
  4. HERE
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP