循环4-for循环
一、语法
for循环和while类似,常用于执行有限次数的循环,有两种语法结构,
1.变量列表循环
- 语法:
for 变量名 in 变量取值列表
do
指令......
done
变量取值列表中的值,要用空格隔开
说明:
依次获取“变量取值列表”中的值赋值给“变量名”,然后执行“指令”,再重复,直到列表中的所有值都执行过一次后,结束循环
2.C语言结构循环
for((exp1;exp2;exp3))
do
指令......
done
三个表达式用分号隔开
说明:
小括号内是三个表达式,典型样式为((i=1;i<10;i++)),按顺序分别是变量初始化值,变量范围,变量自增或自减,当第一个表达式的i值符合第二个表达式的范围时,执行循环,然后对i值+1,符合范围要求再循环,直到i值不满足条件时,跳出循环
二、简单示例
1.按序打印数字
1) 变量列表循环结构:
- 脚本
for n in 1 2 3 4
do
echo $n
done
- 执行结果
1
2
3
4
2)C语言循环结构
- 脚本
for((i=1;i<4;i++))
do
echo $i
done
- 执行结果
1
2
3当i自加结果等于4后,不符合条件表达式要求,跳出循环
2.命令或传参替换取值列表
1)命令替换法
用ls命令的结果做取值列表,需要写成 `ls` 或 $(ls) 的方式
cat /server/scripts/for1.sh
#!/bin/sh
for file in `ls`
do
echo $file
done
sh /server/scripts/for1.sh
abcd.txt
b.log
ip.txt
t.sh
t.tx
2)省略取值列表传参
当没有in和取值列表时,其实相当于for file in $@,即接收命令行传递的所有参数
cat /server/scripts/for1.sh
#!/bin/sh
for file
# for file in $@
do
echo $file
done
sh /server/scripts/for1.sh `ls`
abcd.txt
b.log
ip.txt
t.sh
t.tx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?