12.5 【Linux】循环(loop)

文章详细介绍了Shellscript中的两种循环结构——while和for,包括它们的语法和应用场景。while循环在条件满足时执行,for循环则常用于已知循环次数的情况,还提到了数值处理和与乱数、阵列的结合使用。此外,文章也强调了shellscript的追踪和debug方法,如使用sh-x进行调试。
摘要由CSDN通过智能技术生成

12.5 循环 (loop)

12.5.1 while do done, until do done (不定循环)

一般来说,不定循环最常见的就是下面这两种状态了:

while 的中文是“当....时”,所以,这种方式说的是“当 condition 条件成立时,就进行循环,直到 condition 的条件不成立才停止”的意思。还有另外一种不定循环的方式:

12.5.2 for...do...done (固定循环)

相对于 while, until 的循环方式是必须要“符合某个条件”的状态, for 这种语法,则是“ 已经知道要进行几次循环”的状态!他的语法是:

以上面的例子来说,这个 $var 的变量内容在循环工作时:

1. 第一次循环时, $var 的内容为 con1 ;

2. 第二次循环时, $var 的内容为 con2 ;

3. 第三次循环时, $var 的内容为 con3 ;

12.5.3 for...do...done 的数值处理

除了上述的方法之外,for 循环还有另外一种写法!语法如下:

这种语法适合于数值方式的运算当中,在 for 后面的括号内的三串内容意义为:

初始值:某个变量在循环当中的起始值,直接以类似 i=1 设置好;

限制值:当变量的值在这个限制值的范围内,就继续进行循环。例如 i

执行步阶:每作一次循环时,变量的变化量。例如 i=i+1。

12.5.4 搭配乱数与阵列的实验

 12.6 shell script 的追踪与 debug

 12.7 重点回顾

shell script 是利用 shell 的功能所写的一个“程序 (program)”,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式、管线命令与数据流重导向等功能,以达到我们所想要的处理目的

shell script 用在系统管理上面是很好的一项工具,但是用在处理大量数值运算上, 就不够好了,因为 Shell scripts 的速度较慢,且使用的 CPU 资源较多,造成主机资源的分配不良。

在 Shell script 的文件中,指令的执行是从上而下、从左而右的分析与执行;

shell script 的执行,至少需要有 r 的权限,若需要直接指令下达,则需要拥有 r 与 x 的权限;

良好的程序撰写习惯中,第一行要宣告 shell (#!/bin/bash) ,第二行以后则宣告程序用途、版本、作者等

对谈式脚本可用 read 指令达成;

要创建每次执行脚本都有不同结果的数据,可使用 date 指令利用日期达成;

script 的执行若以 source 来执行时,代表在父程序的 bash 内执行之意!

若需要进行判断式,可使用 test 或中括号 ( [] ) 来处理;

在 script 内,$0, $1, $2..., $@ 是有特殊意义的!

条件判断式可使用 if...then 来判断,若是固定变量内容的情况下,可使用 case $var in ...esac 来处理

循环主要分为不定循环 (while, until) 以及固定循环 (for) ,配合 do, done 来达成所需任务!

我们可使用 sh -x script.sh 来进行程序的 debug

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯西极限存在准则

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值