曲径通幽论坛

标题: until 语句 [打印本页]

作者: beyes    时间: 2009-1-1 20:59
标题: until 语句
一般格式:
until 条件
do
      命令1
      命令2
      ...
done


until 和 while 相反,它先判断条件,如果成立则退出;如果不成立则执行循环体,直到条件成立为止。

利用 until 循环可以很好的实现对延迟的命令输出进行捕获,如下代码所示:
[Bash shell] 纯文本查看 复制代码

#!/bin/sh

OUTFILE="/tmp/outfile.out"
cat /dev/null > $OUTFILE

function delay_command()
{
    sleep 3
    echo "hello outfile.out"
}

until [ -s $OUTFILE ]
do
    delay_command >> $OUTFILE    
done

more $OUTFILE

作者: beyes    时间: 2009-1-2 19:36
标题: until 语句应用举例
监控磁盘空间,代码:
#!/bin/bash
#监控磁盘分区

Partition="/dev/sda5"

LOOK_OUT=`df | grep "$Partition" | awk '{print $5}' | sed 's/%//g'`
echo $LOOK_OUT
until [ "$LOOK_OUT" -lt "10" ]
do
LOOK_OUT=`df | grep "$Partition" | awk '{print $5}' | sed 's/%//g'`

if [ "$LOOK_OUT" -lt "10" ];then
echo "Filesystem /dev/sda5 is nearly empty" | mail root
fi
sleep 3600
done





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2