免费注册 查看新帖 |

Chinaunix

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

[Linux] 新手有个问题,关于多个变量同时出现的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-31 12:55 |只看该作者 |倒序浏览
本帖最后由 水平仪器 于 2012-07-31 14:25 编辑

如果我想在一个 []中用多个变量,如 [ $a -lt $b ]应该怎么写?
再如 a= $a + $b,脚本运行时候他会显示在[ $a -lt $b ]行中有“too many arguments”



#! /bin/sh
grep -i 'indexnum' /tmp/index.log |
wc -l > /tmp/result
sum=0
no=1
all=` wc -l /tmp/index.log `
`awk 'BEGIN {FS=" "} {print $9}' /tmp/index.log | awk 'BEGIN {FS="="} {print $2}'` > task1.txt
while [ $no -lt 100 ]
do
sed -n "${no}p" task1.txt
sum=`expr $sum + $a `
no= `expr $no + 1`
done

论坛徽章:
0
2 [报告]
发表于 2012-07-31 13:28 |只看该作者
大神快来帮帮小弟我啊...

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
3 [报告]
发表于 2012-07-31 13:33 |只看该作者
回复 2# 水平仪器


    花点时间把问题描述清晰吧。

论坛徽章:
0
4 [报告]
发表于 2012-07-31 13:42 |只看该作者
这样可以了么?就是在一个判断框内有多个参数会使脚本运行不了。回复 3# MMMIX


   

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
5 [报告]
发表于 2012-07-31 13:48 |只看该作者
回复 4# 水平仪器


    这种问题就把能重现问题的完整脚本贴上来。

论坛徽章:
0
6 [报告]
发表于 2012-07-31 13:53 |只看该作者
贴好了,这样么?回复 5# MMMIX


   

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
7 [报告]
发表于 2012-07-31 14:41 |只看该作者
回复 6# 水平仪器


    用点心能死么? 贴个和你的问题根本对不上号的脚本来干什么。

论坛徽章:
0
8 [报告]
发表于 2012-07-31 14:49 |只看该作者
我就是在写这个脚本的时候出的错啊,倒数第三行出现的问题。一句话里面有两个变量。还有第八行 [ $no -lt $all ]的话就会出现too many arguments的问题。回复 7# MMMIX


   

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
9 [报告]
发表于 2012-07-31 17:46 |只看该作者
水平仪器 发表于 2012-07-31 14:49
还有第八行 [ $no -lt $all ]的话就会出现too many arguments的问题


仔细看看 wc -l 的输出

论坛徽章:
208
巨蟹座
日期:2013-09-02 09:16:36卯兔
日期:2013-09-02 20:53:59酉鸡
日期:2013-09-05 21:21:45戌狗
日期:2013-10-15 20:51:17寅虎
日期:2013-10-18 21:13:16白羊座
日期:2013-10-23 21:15:19午马
日期:2013-10-25 21:22:48技术图书徽章
日期:2013-11-01 09:11:32双鱼座
日期:2013-11-01 20:29:44丑牛
日期:2013-11-01 20:40:00卯兔
日期:2013-11-11 09:21:32酉鸡
日期:2013-12-04 19:56:39
10 [报告]
发表于 2012-08-01 09:01 |只看该作者
水平仪器 发表于 2012-07-31 13:42
这样可以了么?就是在一个判断框内有多个参数会使脚本运行不了。回复 3# MMMIX

let a=${a}+${b}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP