免费注册 查看新帖 |

Chinaunix

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

【已解决】赋值运算中能有变量吗?(详细见代码) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-21 15:36 |只看该作者 |正序浏览
#!/bin/bash
num=`df -h|grep sda|wc -l`
for((i=1;i<=$num;i++))
do
let var=$i+1
df -h|awk '{if(NR==$var){print $1}}

我想要的结果是打出/dev/sda1可是这样写也没有报错,但却什么也打不出来,到底是哪错了呢?

[ 本帖最后由 icecoldheart 于 2009-1-21 21:33 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2009-01-21 16:23 |只看该作者
这个也选df -h|awk -v var=$var '{if(NR==var){print $1}}

论坛徽章:
0
11 [报告]
发表于 2009-01-21 16:17 |只看该作者
由于我这个是个循环所以还是用df -h | awk '/sda/{print $1}'

论坛徽章:
0
10 [报告]
发表于 2009-01-21 16:07 |只看该作者
df -h|awk -v var=$var '{if(NR==var){print $1}}

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
9 [报告]
发表于 2009-01-21 15:58 |只看该作者
原帖由 fucj 于 2009-1-21 15:53 发表


我是说lz的$var变量,值没传进去

不能,用双引号。

论坛徽章:
0
8 [报告]
发表于 2009-01-21 15:58 |只看该作者
不好意思,搞错了,应该是这样
awk '{if(NR==var)print $1}' var="$var"

[ 本帖最后由 fucj 于 2009-1-21 16:22 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-01-21 15:53 |只看该作者
原帖由 biglazybug 于 2009-1-21 15:51 发表
什么没匹配到?


我是说lz的$var变量,值没传进去

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
6 [报告]
发表于 2009-01-21 15:51 |只看该作者

回复 #5 fucj 的帖子

什么没匹配到?

论坛徽章:
0
5 [报告]
发表于 2009-01-21 15:49 |只看该作者
没有匹配到阿!,awk能这样传值吗?

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
4 [报告]
发表于 2009-01-21 15:47 |只看该作者

回复 #2 ly5066113 的帖子

要发帖时候 接了个电话结果就成3楼了.....我冤啊
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP