shell编程之循环

发布时间 2023-12-12 10:27:50作者: 往事已成昨天

shell编程之循环

一、循环

定义:循环 (Loop) 是计算机编程中非常重要的一种结构,其主要目的是为了简化代码编写,提高代码的重复利用率,以及提高程序的效率。

1.循环和遍历

循环是一种控制流程的结构,用于重复执行一段代码,遍历是一种数据操作的过程,用于访问并处理数据结构中的每个元素.在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行操作。

2.循环的优势

重复执行代码:通过使用循环,可以在程序中重复执行一段代码,从而避免代码的重复编写,减少程序代码量,提高程序的可读性和可维护性。简化程序逻辑:使用循环可以使程序逻辑更加简洁明了,提高程序的可读性和可理解性,降低代码出错的可能性提高代码的重复利用率:通过将重复的代码封装在循环结构中,可以提高代码的重复利用率,减少代码冗余。提高程序的效率:循环可以让程序自动化地执行重复任务,从而减少人工于预的次数,提高程序的效率和性能

二、for循环语句

1.for语句的结构

读取不同的变量值,用来逐个执行同一组命令格式:for 变量名 in 取值列表do  命令序列done

图片

2.for循环示例

根据IP地址检查主机状态

1.IP地址存放在host_ip文件中,每行一个

2.使用ping命令检测各主机的连通性

a = 192.168.1.for i in {1..254}do{ping -w 2 -c $a$i &> /dev/nullif [ $? == 0 ]  then echo $a$i >> host_ip  fi}&done

三、while循环语句

1.while语句结构

重复测试某个条件,只要条件成立则反复执行格式:while  条件测试操作do命令序列done

图片

2.while语句应用示例

提示用户输入一个小于等于100的整数,并计算从1到该数之间所有整数的和

#!/bin/bashread -p "请输入一个小于等于100的整数:" numwhile [[ $num -gt 100 ]]; do  read -p "输入的数字超过了100,请重新输入一个小于等于100的整数:" numdonetotal=0for ((i=1; i<=num; i++)); do  total=$(( total + i ))doneecho "从1到$num之间所有整数的和为:$total"

四、until循环

until循环与for,while循环不同的是,until循环是只要条件不符合就会一直循环,直到条件符合后才会退出循环格式:until 条件测试操作  do    命令序列  done

 

图片

五、跳出循环

1.break

在循环内部,当执行到 break 命令时,会立即跳出当前的循环,停止循环执行,然后继续执行下一条指令。可以使用 break 命令来提前终止循环,例如当达到特定条件时或者已经执行了足够的次数。

2.continue

在循环内部,当执行到 continue 命令时,会跳过本次循环剩余的代码,并继续下一次循环。可以使用 continue 命令来跳过循环中的某些操作,例如在特定条件下跳过一次循环,或者只执行符合条件的循环。

3.exit

在循环内部,当执行到 continue 命令时,会退出整个脚本。可以使用 exit命令来提前终止整个脚本。

六、死循环

死循环也就是无限循环,是指程序陷入无法出来,而持续运行的一种情形,可能会导致Linux系统死机,导致计算机卡死等现象

一下是常见的几种死循环

for  ((;;))                  ##直接写判断条件为真(for循环)while  [ 1  -eq  1 ]         ##判断条件为一个永久为真的条件while  true                  ##直接写判断条件为真(while循环)while  :                     ##判断条件为冒号也表示死循环
linux · 目录
上一篇时间服务器操作(Chrony)
个人观点,仅供参考
阅读 503
凉兮的运维日记
 
 
关注后可发消息