免费注册 查看新帖 |

Chinaunix

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

shell运算出错,在线等!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-06 22:04 |只看该作者 |倒序浏览
getnum(){

select count(*) from t_pb_atom_tran where streamcode in (select streamcode
from t_pb_ctrl_stream where createtlr in (select chnlno from t_pb_chnl where ar
eano='440000' and note='TELECOM') ) "|tail -4|head -1

}

NUM1=$(getnum)
echo $NUM1
NUM=`expr "$NUM1" "+" 2`
echo $NUM

我的返回结果是
2
expr: non-numeric argument
哪位大虾能指点一下为什么?

如果我换成
NUM1=2
echo $NUM1
NUM=`expr "$NUM1" "+" 2`
echo $NUM
返回结果就正确
2
4

论坛徽章:
0
2 [报告]
发表于 2006-04-06 23:13 |只看该作者
用这个试试
(( NUM = NUM1 + 2 ))

论坛徽章:
0
3 [报告]
发表于 2006-04-07 08:23 |只看该作者
原帖由 crazylwl 于 2006-4-6 22:04 发表
getnum(){

select count(*) from t_pb_atom_tran where streamcode in (select streamcode
from t_pb_ctrl_stream where createtlr in (select chnlno from t_pb_chnl where ar
eano='440000' and note='TE ...



你检查一下getnum()的结果 是不是有空格之类的非可见的字符?

要检查不要用echo,用set | grep

论坛徽章:
0
4 [报告]
发表于 2006-04-07 08:36 |只看该作者
原帖由 POLOGG 于 2006-4-7 08:23 发表



你检查一下getnum()的结果 是不是有空格之类的非可见的字符?

要检查不要用echo,用set | grep


非常感谢POLOGG,果然是有空格引起的,我sed -e "s/ //g"后就出现正确结果拉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP