免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3446 | 回复: 4
打印 上一主题 下一主题

shell脚本中的while循环变量调用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-01 16:25 |只看该作者 |倒序浏览
在shell脚本中调用sql时涉及到一个分区的问题,所以我想使用while循环来一个个调用分区,但是本人第一次看shell脚本的东西,请各位多多指教
#!/bin/sh
set -x
n=0
while ((n<1000));
do
sqlplus user/pass@sid<<eof
delete from table where sid ='a' and part="n";
((n++))
done
quit
eof

这样可以吗???

论坛徽章:
0
2 [报告]
发表于 2005-04-01 16:34 |只看该作者

shell脚本中的while循环变量调用

不行,没有跨过while循环的here文本的。

论坛徽章:
0
3 [报告]
发表于 2005-04-01 16:55 |只看该作者

shell脚本中的while循环变量调用

那应该怎样呢?

论坛徽章:
0
4 [报告]
发表于 2005-04-01 17:31 |只看该作者

shell脚本中的while循环变量调用

问题1:sql里接受shell传入的变量吗?
问题2:如果可以如何调用?

论坛徽章:
0
5 [报告]
发表于 2005-04-01 17:45 |只看该作者

shell脚本中的while循环变量调用

好几处错误
while ((n<1000));
应为
  1. while [ $n -lt 1000 ]
复制代码

((n++))
done
这两句应该在EOF后
另sh不支持((n++))这种写法,应为
  1. n=`expr $n + 1`
复制代码

delete from table where sid ='a' and part="n";
此句应为
  1. delete from table where sid ='a' and part="$n"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP