网站首页 > 技术文章 正文
while循环语句是在条件成立(真)时,执行命令序列;条件不成立(假)时,退出循环;until循环语句则恰好相反,是在条件不成立(假)时,执行命令序列。
until 循环的核心价值在于反向条件控制,尤其适合需要 “持续等待直到某事件发生” 的场景。比如,在脚本中需要判断某个文件是否生成,没有生成,说明进程启动失败;或者在脚本中需要判断某个进程是否启动,未启动,说明服务启动失败等等。
- until语句的结构:
until 条件测试操作
do
命令序列
done
- until语句的执行流程
首先判断until后的条件测试操作结果,如果条件不成立(假),则执行do...done循环体中的命令序列;返回until后再次判断条件测试结果,如果条件仍然不成立,则继续执行循环体;再次返回到until后,判断条件测试结果......如此循环,直到until后的条件测试结果成立为止,最后跳转到done语句,表示结束循环;
典型案例
- 判断文件或目录是否存在,如果不存在则一直等待,直到文件或目录生成再继续往下执行
until [[ -e /path/to/file ]]
do
echo "等待文件生成......"
sleep 1
done
echo "文件已就绪,继续执行..."
- 判断下载文件是否成功,不成功则等待5s后,重试
until curl -o data.zip https://example.com/data.zip; do
echo "下载失败,5秒后重试..."
sleep 5
done
- 代替复杂的while循环语句
# 传统 while 写法,!号用于取反
while ! [[ $status == "success" ]]; do ... done
# 等价 until 写法
until [[ $status == "success" ]]; do ... done
何时使用until,何时使用while
猜你喜欢
- 2025-04-24 shell编程之流程控制--if 语句
- 2025-04-24 燕山大学:榴莲壳衍生的N,O,P掺杂活性碳材料,用于超级电容器
- 2025-04-24 [机器人]FANUC机器人点焊设备I/O
- 2024-07-18 挖洞构造User-Agent请求头内容实现LFI到RCE提权
- 2024-07-18 Shell编程(一)(shell编程$1)
- 2024-07-18 一个shell运算示例(shell ${?})
- 2024-07-18 shell基础之运算符(shell 算数)
- 2024-07-18 Shell编程里面的奇葩字符(shell中特殊字符的含义)
- 2024-07-18 Shell脚本基础(shell脚本基础入门)
- 2024-07-18 《蹲坑学kubernetes》之七:签发CA证书
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)