网站首页 > 技术文章 正文
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证书
- 04-24架构篇-一分钟掌握性能优化小技巧
- 04-24Nginx从概念到实战:原理、配置与踩坑全解析
- 04-24前端面试题-Vue 项目中,你做过哪些性能优化?
- 04-24从零开始学习C语言丨参数的传递方式
- 04-24C语言 | 成绩的等级判别
- 04-24C语言随机数生成
- 04-24C语言-平方倒数和
- 04-24C语言100题集合019-实现输入一个星期中对应的第几天
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)