HP-Unix:C-shell:磁盘空间检查

我有10个使用hp-ux的设备,我想检查每个设备的磁盘空间。 我的要求是如果空间超过90%,设备空间的信息将被保存到日志。 这是我设置为variablesipadd的设备和IP地址列表:

lo1 100.45.32.43 lot2 100.45.32.44 lot3 100.45.32.44 lot4 100.45.32.45 lot5 100.45.32.46 and so on.. 

到目前为止,这是我的脚本:

 #!/bin/csh -f set ipaddress = (`awk '{print $2}' "ipadd"`) set device = (`awk '{print $1}' "ipadd"`) @ j = 1 while ($j <= $#ipaddress) echo $ipaddress set i = 90 # Threshold set at 90% set max = 100 while ($i <= $max) rsh $ipaddress[$j] bdf | grep /dev/vg00 | grep $i% \ |awk '{ file=substr($6,index($6,"/") + 1,length($6)); print "WARNING: $device[$j]:/" file " has reached " $5 ". Perform HouseKeeping IMMEDIATELY..." >> "/scripts/space." file ".file"}' @ i++ end @ j++ end 

bdf之后的输出:

 /dev/vg00/lvol2 15300207 10924582 28566314 79% / /dev/vg00/lvol4 42529 23786 25510 55% /stand 

执行脚本后terminal输出:

 100.45.32.43 100.45.32.44 

.file的输出:

 WARNING: $device[$j]:/ has reached 79%. Perform HouseKeeping IMMEDIATELY... 

我的问题是,是我的循环有一些错误,因为只有一次迭代只是因为我的.file输出只显示一个设备? 为什么$ device [$ j]不能出来.file输出? 或awk有问题?

谢谢你的build议。