SHELL 循环语句以及函数

一、循环语句

1. for 循环

2. while 循环

3. until 循环

4. 循环控制语句

4.1 continue 

4.2 break 

4.3 exit 

二、shell 函数

1. 函数的定义

2. 函数的调用

3. return 函数返回值

4. 函数传参

5. 函数的作用范围

6. 函数递归


一、循环语句

1. for 循环

在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的 对象不一样,其他命令相同。例如,根据通讯录中的姓名列表创建系统账号,根据服务器清 单检查各主机的存活状态
当面对各种列表重复任务时,使用简单的 if 语句已经难以满足要求,而顺序编写全部代 码更是显得异常烦琐、困难重重

#! /bin/bash
for i in {1..4}
do
  echo "$i"
done

例子:算出数字1~10之和

2. while 循环

while循环一般用于有条件判断的循环,若判断条件为真,则进入循环,当条件为假就跳出循环

循环持续直到条件不再满足,需要在循环体内适时更新条件以避免无限循环

例:随机生成数字,猜大小

3. until 循环

跟while相反,条件为假进入循环,条件为真退出循环

4. 循环控制语句

循环一般会搭配条件判断语句和流程控制语句一起执行,那么就会出现需要跳过循环和中止循环的情况,控制循环的命令有以下3个

4.1 continue 

continue 语句用于跳过当前循环中的剩余部分,并继续执行下一个迭代。它只会影响当前循环的剩余部分,不会退出循环

例:打印1-5的数字,3不打印


4.2 break 

break 语句用于立即退出当前循环(forwhileuntil),并跳出循环体

例:打印1-8数字,到6之后停止打印,break跳出循环

4.3 exit 

exit 语句用于退出整个脚本或程序,并可返回一个状态码(通常是0表示成功,非0表示失败)

直接跳出程序所以不会执行最后的echo 完成 ,并且返回码为111

二、shell 函数

在Shell脚本中,函数是一种组织代码的方式,可以使代码更具可读性和可维护性。Shell函数可以接受参数,并且可以返回值。函数的定义和使用方式可能因不同的Shell而有所不同,但基本概念是相似的

1. 函数的定义

1.
function 函数名 {
command
}                              //这是一种规范写法

2.
函数名(){    
command
}                              //最常用因为最简洁

写函数最终目的是为了调用,为了实现某个功能块

2. 函数的调用

① 直接在脚本里定义函数的代码块后写函数名即可完成调用

② 函数名必须是唯一,如果先定义了一个,再用同样的名称定义,第二个会覆盖第一个的功能

③ 调用函数之前必须先进行定义

3. return 函数返回值

return 语句可以返回一个状态码(整数值)

4. 函数传参

函数传参指的是将数据(参数)传递给函数,以便函数可以使用这些数据来执行特定的任务。函数参数使得函数更加灵活和通用,因为你可以在调用函数时传递不同的参数值,从而改变函数的行为

5. 函数的作用范围

在 Shell 脚本中函数的执行并不会开启一个新的子 Shell,而是仅在当前定义的 Shell 环境中有效。如果Shell脚本中的变量没有经过特殊设定,默认在整个脚本中都是有效的。在编写脚本时,有时需要将变量的值限定在函数内部,可以通过内置命令 local 来实现。函数内部变量的使用,可以避免函数内外同时出现同名变量对脚本结果的影响

local命令:将变量限定在函数内部使用

6. 函数递归

函数自己调用自己的本身
 

例:列出/opt下的所有内容并标注是文件还是目录

在使用函数递归后,可以查询到/opt/*/ 的内容

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值