应该是你见过最详细的shell编程循环语句解析了(for循环、while循环、until循环)(二)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 应该是你见过最详细的shell编程循环语句解析了(for循环、while循环、until循环)(二)

三、分隔符


image.png


举例:读取文件,但是文件中有空格

image.png

image.png

解决办法:

image.png

image.png


还有个办法比较简单的,就是使用while read在while的示例3中有介绍,这个不涉及分隔符,但是用for写无法避免


举例:将五个环境分行输出


[root@localhost sh]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
#!/bin/bash
IFS_OLD=$IFS
IFS=':'
for i in  $PATH
do
        echo $i
done
IFS=$IFS_OLD

image.png

image.png


四、双循环



外层循环每执行一次,内层循环都要全部执行完毕,下一次外层循环才能再执行


内层循环看作是外层循环的一个命令语句


#!/bin/bash
#双层循环测试
for ((i=1;i<=5;i++))
do
        echo "outer loop: $i"
#外层循环
        for ((j=1;j<=5;j++))
        do
                echo "   inter loop: $j"
#内层循环
        done
done

image.png

image.png


五、退出循环



5.1 exit


外循环1次,内循环3次


image.png

image.png


5.2 break


外循环5次,内循环3次


image.png

image.png

image.png

image.png


5.3 continue

外循环五次,内循环4次


跳过j等于3的循环,其他的循环不影响


在for循环中比较好用,while中慎用


image.png

image.png


5.4 死循环


while循环中一定要注意迭代(自增)的方式

image.png

image.png

image.png


六、总结



for


给了已知的取值列表,使用for循环是首选


循环操作一般会首选for循环


for(())


for i in ...


循环的分隔符 IFS是空格,制表符\t 换行符\n


while


需要满足某种条件时可以使用,不知道循环次数时可以配合配合退出语句(break,exit,continue)实现循环操作


until


不满足条件的时候要已知循环时使用


多线程


{


....


}&


wait


读取文件


法一


while read 变量名


do


....


done < 文件名


法二


cat 文件 |while read 变量名


do


....


done


退出循环


exit  n(0-255)退出shell脚本进程,并且可以返回指定状态码,执行exit后脚本后面的所有语句都不执行


break 跳出当前的循环体,去执行循环后面的语句(默认跳出单层循环),break 2 跳出两层循环


continue 中止某次循环的执行,但不会完全中止整个循环(跳过这次循环);while until循环中使用要慎重,如果continue放在迭代语句前面会造成死循环

目录
相关文章
|
5月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
5月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
3月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
4月前
|
Java 测试技术 数据安全/隐私保护
📖Java零基础-while循环语句的深度解析
【10月更文挑战第6天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
80 1
|
4月前
|
Shell
Shell编程(下)
Shell编程(下)
123 1
|
4月前
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
65 1
|
4月前
|
Shell Linux 开发工具
|
4月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
102 12
|
5月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
5月前
|
Shell Linux
Shell 编程 编写hello word
Shell 编写hello word
66 5

推荐镜像

更多