Chinaunix
标题:
【已解决】赋值运算中能有变量吗?(详细见代码)
[打印本页]
作者:
icecoldheart
时间:
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 编辑
]
作者:
ly5066113
时间:
2009-01-21 15:44
df -h | awk '/sda/{print $1}'
作者:
biglazybug
时间:
2009-01-21 15:46
df -h| awk '/sda/{print $1}'?
作者:
biglazybug
时间:
2009-01-21 15:47
标题:
回复 #2 ly5066113 的帖子
要发帖时候 接了个电话结果就成3楼了.....我冤啊
作者:
fucj
时间:
2009-01-21 15:49
没有匹配到阿!,awk能这样传值吗?
作者:
biglazybug
时间:
2009-01-21 15:51
标题:
回复 #5 fucj 的帖子
什么没匹配到?
作者:
fucj
时间:
2009-01-21 15:53
原帖由
biglazybug
于 2009-1-21 15:51 发表
什么没匹配到?
我是说lz的$var变量,值没传进去
作者:
fucj
时间:
2009-01-21 15:58
不好意思,搞错了,应该是这样
awk '{if(NR==var)print $1}' var="$var"
[
本帖最后由 fucj 于 2009-1-21 16:22 编辑
]
作者:
ynchnluiti
时间:
2009-01-21 15:58
原帖由
fucj
于 2009-1-21 15:53 发表
我是说lz的$var变量,值没传进去
不能,用双引号。
作者:
我是DBA
时间:
2009-01-21 16:07
df -h|awk -v var=$var '{if(NR==var){print $1}}
作者:
icecoldheart
时间:
2009-01-21 16:17
由于我这个是个循环所以还是用df -h | awk '/sda/{print $1}'
作者:
icecoldheart
时间:
2009-01-21 16:23
这个也选df -h|awk -v var=$var '{if(NR==var){print $1}}
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2