shell基础语法:循环for in 和while
参考:
https://blog.csdn.net/wzj_110/article/details/86669426(for in 用法总结)
循环for in,基于列表
语法:
for 变量名 in 列表 do command command ... done
数字类循环
1,seq在in后面的应用
#!/bin/bash #也是产生等差数列-->默认是1 for i in $(seq 1 10) #产生的是一个字符串,默认IFS是以空格隔开! do done
2,{}在in后面的应用
total=0 #全局变量 for i in {1..100} #".."表示连续,默认也是IFS为空格隔开 do ((total+=i)) done echo -e "total is:${total}"
字符类循环
1,普通字符串
#!/bin/bash list="Linux Java C++ Python" for i in $list do echo -e "Language is ${i}" done
补充:
echo -n //不换行输出
echo -e //处理特殊字符输出 参考:https://blog.csdn.net/qq_37595946/article/details/77962963
2,cat在in后面的使用
逐行读取文件的内容(默认是IFS),所以默认不是逐行打印!
IFS的说明
bash shell会将下列字符当作字段分隔符:空格、制表符、换行符
说明:如果在shell在数据中看到这些字符中的任意一个,它就会假定这表明了列表中一个新数据字段的开始!
可以指定多个IFS字符
如果想逐行原样输出
#!/bin/bash # reading content from a file file="日志文件.sh" #将这个语句加入到脚本中,告诉bash shell在数据值中忽略空格和制表,使其只能识别换行符! IFS=$'\n' for std in $(cat $file) do echo "$std" done
3,路径查找
ls在in后面的命令
#!/bin/bash for i in `ls`; #ls可以结合统配符应用! do echo $i is file name\!; #注意:\的应用! done
循环while,基于条件
语法
while condition do command done #无线循环 while : do command done while true do command done for (( ; ; ))
跳出循环
#跳出后续所有循环 break #只跳出单次循环 continue #添加次数 break 2 continue 2
分类:
shell&python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?