关于shell脚本中变量赋值的问题

fengyihua19871104 2010-06-08 08:59:17
(1)比如说我在Shell脚本中执行一条SQL语句 db2 "select USERID from USER where MOBILE='+8615961217336'",这条语句获取到了一个USERID 我想把他赋值给一个变量,但是不知道怎么实现,请问一下有没有什么办法?
...全文
633 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangfeng999 2010-06-11
  • 打赏
  • 举报
回复
只能向数据库提交sql命令
jiangfeng999 2010-06-11
  • 打赏
  • 举报
回复
shell 里面没有和sql交互的机制
testoftesttest 2010-06-11
  • 打赏
  • 举报
回复
楼上说的不错 可以把设置echo到tmp/query.sql 再执行sqlplus 我只是给个思路
zhjl1314 2010-06-11
  • 打赏
  • 举报
回复
楼上的思路是对的,但oracle也没这么简单吧

也没执行
set feedback off
set heading off
之类的

出来的可不仅仅是userid值吧
testoftesttest 2010-06-11
  • 打赏
  • 举报
回复
db2 不太了解 用oracle写个例子吧

#!/bin/sh

echo "select USERID from USER where MOBILE='+8615961217336'" > /tmp/query.sql
userid=`sqlplus -s USERNAME/PASSWORD@DBNAME @/tmp/query.sql`

userid就是你想要的
吸积盘 2010-06-09
  • 打赏
  • 举报
回复
哦。。一楼好像说的没错啊
fengyihua19871104 2010-06-08
  • 打赏
  • 举报
回复
是什么数据库不要紧,关键是怎么获取执行SQL语句所获取的字段值,然后把它赋值给一个变量,组后输出。
steptodream 2010-06-08
  • 打赏
  • 举报
回复
我没在shell里操作过这种数据库
试试

useid=`db2 "select USERID from USER where MOBILE='+8615961217336'",`

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧