Linux中while循环的用法笔记
Shell中可以采用while循环来实现需要进行循环的操作。
语法结构如下:
while exp
do
command
done
执行过程:while将测试exp的返回值,如果返回值为true则执行循环体的命令,返回值为false则不执行循环。循环完成后会进入下一次循环之前将再次测试。
如果已知循环次数,可以用计数的方式控制循环,在达到规定的循环次数后退出循环。
示例:
#同时计算1到100和以及1到100的奇数和
#脚本内容如下:
sum1=0
sum2=0
i=1
j=1
while [[ "$i" -le "100" ]]
do
let "sum1+=i"
let "j=i%2"
if [[ $j -ne 0 ]];then
let "sum\+=i"
fi
done
echo "$sum1"
echo "$sum2"
输出结果:
5050
2500
示例2使用while命令按行读取文件(实用)
cat data.txt
内容如下:
小明 男 30
小张 男 25
小丽 女 28
#脚本内容如下:
#!/bin/bash
while read Line
do
Name=`echo $Line' | awk '{print $1}'`
Sex=`echo $Line' | awk '{print $2}'`
Age=`echo $Line' | awk '{print $3}'`
echo "我的名字是 $Name ,性别 $Sex 年龄 $Age "
done < data.txt
或者
#!/bin/bash
cat data.txt | while read Line
do
Name=`echo $Line' | awk '{print $1}'`
Sex=`echo $Line' | awk '{print $2}'`
Age=`echo $Line' | awk '{print $3}'`
echo "我的名字是 $Name ,性别 $Sex 年龄 $Age "
done
输出结果:
我的名字是小明,性别男,年龄30
我的名字是小张,性别男,年龄25
我的名字是小丽,性别女,年龄28
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)