下壳股代息将检查磁盘空间和改变变量diskfull
到1
如果使用率超过10% 最后的回声总是显示0
我试过global diskfull=1
if子句中,但它不工作。 如果消耗的磁盘超过10%,如何将变量更改为1
?范围
#!/bin/sh
diskfull=0
ALERT=10
df -HP | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
#echo $output
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }')
if [ $usep -ge $ALERT ]; then
diskfull=1
exit
fi
done
echo $diskfull
您确定正在执行if语句的主体吗?如果计算结果为false,diskfull = 1行永远不会执行。 – asm 2009-11-24 12:37:26
感谢所有答复。我所做的是我退出了退出状态为1的if子句,然后在“完成”之后立即将其保存到diskfull变量。此解决方法似乎正在工作。 – shantanuo 2009-11-24 16:03:29