shell脚本中,for循环很重要,对一系列值进行迭代时非常有用。Bash中提供了多种类型的循环。

面向列表的for循环

个人理解这个是shell 最基本的循环,面向列表在集合中查找处理

for var in list

do

commands;  #使用变量$var

done

list 可以是一个字符串,也可以是一个值序列(就是一个集合)。

可以使用echo命令生成各种值序列:

echo {1...50};  #生成一个从1~50的数字序列

echo {a...z} {A...Z};   #生成一个大小写字母序列

同样,可以使用将这些方法结合起来,对数据进行拼接

下面的代码中,变量 i 在每次迭代的过程中都会保存一个范围在a到z之间的字符:

for i in {a...z}; do action; done;

迭代指定的范围

for((i=0;i<100;i++))

{

commands;   #使用变量i

}

循环满足条件为止

当条件为真时,while循环继续执行,当条件为假时,until循环继续执行

while condition

do

commands;

done

until循环

Bash中还可以使用一个特殊的循环until。它会一直循环,直到给定的条件为真。例如:

x=0
until [ $x -eq 9 ];
then let x++echo $x
done

shell 四种循环详解相关推荐

  1. python输入字符串并反序result_python字符串反转的四种方法详解

    python字符串反转的四种方法详解 这篇文章主要介绍了python字符串反转的四种详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.用red ...

  2. kinux查日志_Linux实时查看日志的四种命令详解

    原标题:Linux实时查看日志的四种命令详解 如何在Linux中实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容.在Linux中实时显示文件内容的常用命令是t ...

  3. js和php能生成一样的随机数_JavaScript_JS生成某个范围的随机数【四种情况详解】,前言: JS没有现成的函数,能 - phpStudy...

    JS生成某个范围的随机数[四种情况详解] 前言: JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random()  这个函数可以生成 [0,1) 的一个随机数. 利用它 ...

  4. RTSP、HTTP、HTTPS、SDP四种协议详解

    RTSP.HTTP.HTTPS.SDP四种协议详解 从这篇开始我们将进入流媒体的环节,流媒体在android中有nuplayer来实现的,在开始讲解android流媒体前,我们先来讲讲流媒体传输协议, ...

  5. 内部类(四种内部类详解)

    == = = = = = = 内部类(四种内部类详解)= = = = = = = == 一.基本介绍:一个类的内部又完整的嵌套了另一个类结构.被嵌套的类称为内部类(inner class),嵌套其他类 ...

  6. java正则表达式判断问号_正则表达式问号的四种用法详解

    原文符号 因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\? 有无量词 问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次. 非贪婪匹配 贪婪匹配 在满足匹配时 ...

  7. php 去重_php求两数组交集的四种方法详解

    题目:给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5 ...

  8. 字符串反转python_python字符串反转的四种方法详解

    这篇文章主要介绍了python字符串反转的四种详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.用reduce函数方法 book = 'Pyt ...

  9. 无线攻击及密码破解的四种方式详解

    随着社会的进步,现在我们在每一地方逗留都离不开无线通信,WiFi.4G等等:这就是无线领域的优势所在! 无线领域十分难以捉摸,从一点儿一点儿进步到现在,无线的安全深入人心,站在安全的角度来说无线通信一 ...

最新文章

  1. 高频数据交换下Flutter与ReactNative的对比
  2. IIS的虚拟目录和子应用程序
  3. Android教程之android数据库编程
  4. JQ用变量关联input name
  5. python 学习笔记十九 django深入学习四 cookie,session
  6. 设计模式--简单工厂(个人笔记)
  7. TortoiseGit 下载、安装、配置_入门试炼_01
  8. 彻底解决Spring MVC 中文乱码 问题
  9. MATLAB程序中使用变量获取到某代码段的运行时间
  10. Linux系统安全保护措施
  11. 可怕的ASP.NET邮件组件
  12. nginx启动报错:Failed to start The nginx HTTP and reverse proxy server.
  13. Mar9th 海尔java面试
  14. 计算机桌面壁纸被锁定,Win10桌面壁纸被锁定无法修改咋办? win10官网
  15. 三菱凌云3故障代码_三菱.凌云故障代码
  16. 基于云服务创建实时运营数据分析服务(一)
  17. 利用大数据 勾画虚开企业脸谱
  18. 微信早安,利用uniCloud阿里云的云函数实现定时推送
  19. 什么是地狱回调?解决回调地狱的两种方法
  20. 基于坡度理论的点云滤波方法(二)

热门文章

  1. 鴻海董事長郭台銘先生的話
  2. Linux中usb设置burst,详细解读Linux系统中ntpq命令的使用
  3. 设计模式之模板模式和工厂模式
  4. AMR中的RO,RW和ZI
  5. VCS+Verdi 安装过程遇到的问题-CentOS7
  6. Android 自带工具生成图标
  7. Latex排版论文MiKTeX与Texmaker 配置使用及宏包的下载
  8. 二、VLAN,单臂路由
  9. YOLOv6:又快又准的目标检测框架开源啦
  10. 传教士与野人过河问题 人工智能实验算法