Chinaunix首页 | 论坛 | 博客
  • 博客访问: 251518
  • 博文数量: 35
  • 博客积分: 198
  • 博客等级: 入伍新兵
  • 技术积分: 443
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-28 10:30
文章分类

全部博文(35)

文章存档

2015年(5)

2014年(14)

2013年(8)

2012年(7)

2011年(1)

我的朋友

分类: LINUX

2013-04-25 13:12:13

今日要用到shell 分析/空间下,还有多少剩余空间,经过试验了N遍,终于将大小获取到变量里面了

 例如: 获取/ 分区还剩多少KB? 提供操作平台是redhat AS5.3 2.6.32-279.el6.i686

 df  -k  获取硬盘上分区大小,单位以KB为单位, 例如获取 /分区大小
df -k  /
2.6.32-279.el6.i686 #1 SMP Wed Jun 13 18:23:32 EDT 2012 i686 i686 i386 GNU/LinuxFilesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      28423176   5813444  21165892  22% / Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      28423176   5813444  21165892  22% /
 Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      28423176   5813444  21165892  22% /

有些乱啊,要取出21165892  怎么办?  毫无疑问用grep

$df -k /|grep /$  

                      28423176   5813448  21165888  22% /
再看看,离目标是否进一些了,剩下就是分段取了,这时候肯定想到awk .但是这里有个问题,如果设备名称比较短,
df -k / 输出可能是这样了
/dev/hdc0   28423176   5813444  21165892  22% /
那么就要取值第四个了,如果长了就得取第三个,那么咱就做个遍历,挨个挨个遍历,如果找到%,那么%前面的字段就是
我们要获取的字段了,因此看下面:
df -k / |grep /$|awk '{for (i = 1; i 21165884
值已经取出来了,现在想想,如何赋值给一个变量呢? 我们可以这样做:
vSize=`df -k / |grep /$|awk '{for (i = 1; i 或者
vSize=$(df -k / |grep /$|awk '{for (i = 1; i 这样就将值赋给变量vSize了。
阅读(4264) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~