shell脚本——for循环、while循环、until循环

一、echo命令输出字符串或提取Shell变量的值

1、格式

echo     [参数]       [字符串]

2、常用参数和常用转义符

   -ne  常常连用
    
常用参数说明
-n表示输出不换行
-e输出转义字符,将转义后的内容输出到屏幕上
-E禁止反斜杠转义,与-e参数功能相反
常用的转义符说明
\t转义后表示插入tab,即横向制表符(显示空格出一段距离)
\b相当于退格键,但前提是“\b”后存在字符;“\b"表示删除前一个字符;”\b\b"表示删除前两个字符
\f换行,但是换行后的新行的开头位置连接着上一行的行尾
\c不换行输出。后面无字符时相当于 echo -n;"\c"后有字符时,将不被输出
\n换行,但是换行后的新行从“\n”处开始另起一行
\r光标移至行首,但不换行,相当于使用“\r”以后的数字覆盖之前相等长度的字符
\表示插入“\”本身

二、for循环

  • 读取不同的变量值,用来逐个执行同一组命令

在这里插入图片描述

for 变量名(注意是名称不是变量$)  in  取值列表(范围可写可不写)     ##一般格式
do                   
   命令序列              ##执行的内容,若满足循环则做什么动作          
done                    ##for循环结束的标志


for ((i=0;i<=5;i++))     ##类C语言格式
do                   
   命令序列                    
done

for ((;;))               ##死循环
…………

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

for循环的嵌套循环

在这里插入图片描述

三、跳出循环

1、continue跳出循环

  • 表示满足continue条件时跳出循环,但是不影响后续循环执行。
  • continue2是一个Shell中的控制结构,它的作用是在循环内部跳过本次循环并继续下一次循环,而且会跳过两层循环,即在两层循环内部执行。
  • 在嵌套循环中,如果我们使用continue 2命令,它将跳过包含它的内层循环和外层循环的迭代,并继续执行下次外层循环的迭代。
举例:
vim 77.sh                   #创建脚本77.sh

#! /bin/bash
for i in {1..5}             #for循环5次从i=1开始到i=5
do
   if [ $i-eq 3 ]           #if判断语句,若$1等于2则执行then的内容
     then
      continue              #当$i=3时跳出循环但不影响后面循环
   fi                       #结束if语句
 echo "$i"                  #没执行一次for循环输出一次$i
done                        #for循环结束语句

sh 77.sh                    #调用shell执行脚本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.break跳出循环

  • 在某个循环中遇到break直接结束此次循环,但是不影响外边嵌套的循环。
  • break [数字] 结束数字中的几次循环,若为2则结束自己所在循环和外边嵌套的一层循环,
  • 若为3则结束自己所在循环和外边嵌套的2层循环
  • break 命令并不控制循环次数,它是用于控制循环流程的。
  • 当break命令执行时,它会立即跳出当前的循环并继续执行循环后面的代码。
举例: 
vim  a.sh              #创建a. sh脚本

!/bin/bash
for j in {1..3}                          #第一-层for循环,j=1,2,3各执行一 次do的内 容
do                                         #第一层for循环的执行内容
   for i in {1..5}                      #第二层for循环,i=1,2,3,4,5各执行一 .次do的内容
    do                                    #第二层for循环的执行内容
        if[$i-eq3]                      #第二层for循环中添加的if判断语句,当Si=3是执行then内容
           then
          break 2                      #第二层for循环判断语句执行命令,break控制循环的流程
        fi                                   #if语句结束
      echo "$i"                        #第二层for循环语句执行每循环一次输出$i
     done                               #第二层for循环语句结束标志
done                                    #第一层for循环语句结束标志

sh a.sh                                #调用bash执行a. sh脚本
  • 循环是一种控制流程的结构,用于重复执行一段代码,而遍历是一种数据操作的过程,用于访问并处理数据结构中的每个元素

  • 在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行操作。

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

以下是使用循环的一些好处:

(1)重复执行代码:通过使用循环,可以在程序中重复执行一段代码,从而避免代码的重复编写,减少程序代码量,提高程序的可读性和可维护性。

(2)简化程序逻辑:使用循环可以使程序逻辑更加简洁明了,提高程序的可读性和可理解性,降低代码出错的可能性。

(3)提高代码的重复利用率:通过将重复的代码封装在循环结构中,可以提高代码的重复利用率,减少代码冗余。

(4)提高程序的效率:循环可以让程序自动化地执行重复任务,从而减少人工干预的次数,提高程序的效率和性能。

在这里插入图片描述

四、while循环

  • 只要条件成立,则反复循环,不成立即停止

在这里插入图片描述

while 条件测试操作
do
   命令序列
done

在这里插入图片描述

在这里插入图片描述

五、until循环

  • 重复测试某个条件,只要条件不成立则反复循环

  • 比如等待某个进程退出、等待某个文件被创建等等

until 条件测试操作
do  
   命令序列
done

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 不把那群命令 用 " { } & " 起来的话,就会很慢,一个一个的去ping;如果加上的话,效率就会很快

  • 循环将多个文本文件内容合并为一个文件

在这里插入图片描述

  • 打印出某个目录下的所有文件

在这里插入图片描述
在这里插入图片描述

  • 做出一个简单的计算器的脚本(±*/四种算法)
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值