shell编程-for循环-while循环-until循环基础

1. for循环

for循环用于在指定次数的范围内反复执行一段代码。通常可以基于一个固定的数值范围、数组或列表来进行循环。

语法

for variable in value1 value2 value3 ... do # 循环体代码 done

  • variable 是你在循环中使用的变量。
  • value1, value2, value3,... 是一个值的列表,variable 会依次取这些值。
  • 每次循环时,variable 会从值列表中取出一个新的值,并执行 do 和 done 之间的代码。
eg、

for i in 1 2 3 4 5

do

echo "当前数字是: $i"

done

输出:

当前数字是: 1 当前数字是: 2 当前数字是: 3 当前数字是: 4 当前数字是: 5

eg、循环1至100;

使用范围或步骤

如果你需要指定一个数字范围,可以用大括号表示,例如:

for i in {1..5} do echo "当前数字是: $i" done

或者你可以指定步长:

for i in {1..10..2} do echo "当前数字是: $i" done

这会输出 1, 3, 5, 7, 9。

2. while循环

while循环会在条件满足的情况下反复执行循环体。每次执行前,Shell会判断条件是否成立,若条件成立,则继续执行循环体;否则退出循环。

语法

while [ condition ] do # 循环体代码 done

  • condition 是一个测试条件,通常使用方括号 [] 包裹。
  • 当 condition 为真时,执行 do 和 done 之间的代码。
eg、

i=1

while [ $i -le 5 ]

do

echo "当前数字是: $i" ((i++)) # i递增

done

输出:

当前数字是: 1 当前数字是: 2 当前数字是: 3 当前数字是: 4 当前数字是: 5

解释
  • i=1 初始化变量 i 为 1。
  • [ $i -le 5 ] 这是条件测试,表示当 i 小于或等于 5 时,继续循环。
  • ((i++)) 是自增操作,将 i 增加 1。

eg、

3. until循环

until 循环与 while 循环类似,不同之处在于 until 循环会在条件 不成立 时继续执行,直到条件为真时才停止。

语法

until [ condition ] do # 循环体代码 done

示例

i=1

until [ $i -gt 5 ]

do

echo "当前数字是: $i" ((i++))

done

输出:

当前数字是: 1 当前数字是: 2 当前数字是: 3 当前数字是: 4 当前数字是: 5

相关推荐
codigger6 天前
同一个端口能不能被两个程序同时监听?
java·后端·程序员·编程
codigger9 天前
Vue nextTick 到底在等什么?一篇讲透原理与那些年踩过的坑
程序员·vue·编程·异步更新·#人工智能
codigger13 天前
别再靠"最终版-改"活下去了:一篇讲透 Git 与 GitHub
git·程序员·github·编程·控制版本
楚国的小隐士13 天前
从审核员到监工:AI正在重写评价体系,也重写人的价值
ai·编程·ai编程·哲学·马列主义
codigger16 天前
用 Python 从零搭一套 RAG 系统:40 行跑通,再谈优化
程序员·编程·ai编程·rag·#agent
codigger20 天前
编程语言的六十年:一部做减法的历史
程序员·编程·编程语言
codigger23 天前
AI 写代码越来越快,我们的代码能力却在悄悄退化
程序员·编程·ai编程·#人工智能
noravinsc24 天前
vibe coding 是什么?
ai·编程
小贺儿开发25 天前
DeepSeek + Codex + MCP:Unity 游戏开发实测
科技·游戏·unity·ai·程序员·编程·deepseek
codigger1 个月前
Java 26 深度解析:一次“性能兑现 + 契约收紧”的版本
java·后端·编程·编程语言