Linux Shell流程控制until循环

在Shell中,until循环语句执行一次循环体,然后测试循环条件。只要条件为假,它就会一遍遍地执行循环体。一旦条件变为真,则循环停止。

until循环语法如下:

until command
do
   statement(s) to be executed repeatedly, until command returns true
done

command是要执行的命令,直到命令返回值为0时循环停止。循环体中的语句会一直执行,直到command返回值为0。

以下是一个until循环的示例,其中循环体中的命令将在文件file.txt不存在时运行:

#!/bin/bash

until [ ! -e "file.txt" ]
do
    echo "Waiting for file.txt to be deleted"
    sleep 1
done

echo "file.txt has been deleted"

该示例使用-e选项检查文件是否存在。只要文件存在,循环就会一直运行,直到文件被删除。每秒钟,循环体内的命令将输出一条消息,并睡眠1秒钟,然后再次检查文件是否存在。一旦文件不存在,循环停止,并输出一条消息。