有两种方法 方法一: #!/bin/bash num=`df -h|grep sda|wc -l` for((i=1;i<=$num;i++)) do let var=$i+1 echo $var name=`df -h|awk -v var=$var '{if(NR==$var){print $1}}'|cut -d'/' -f 3` df -h|sed -n 's/^//dev.*/([0-9][0-9]%/) ////1/p'>$name.txt done 方法二: #!/bin/bash num=`df -h|grep sda|wc -l` for((i=1;i<=$num;i++)) do name=`df -h|awk '/sda/{print $1}}'|cut -d'/' -f 3` df -h|sed -n 's/^//dev.*/([0-9][0-9]%/) ////1/p'>$name.txt done 以上这两种方法都可以循环获取磁盘分区的使用率,并且都以每个磁盘分区的名字作为生成的文本文件的名字,文本文件的内容是相应磁盘分区的使用率。