今日要用到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了。
阅读(4255) | 评论(0) | 转发(0) |