Linux(shell循环语句与函数)

什么是循环?

循环:重复执行一段代码的结构;通过循环,可以在满足一定条件下,多次执行相同的代码

循环语句包含两个方面:

循环体:代码的总结构

循环条件:当循环条件满足时,循环体的代码才会去执行,不满足时,循环结束

什么是遍历?

对数据结构中的每个元素都会进行一次访问的过程,操作,输出

循环个遍历是结合在一起使用的

循环实际上是一种控制流程的结构,用于重复执行代码;

而遍历对数据进行访问和操作的过程

循环的特点

1、重复执行代码

2、简化程序的逻辑,提高程序的可读性和可理解性,降低了代码出错的可能性

3、提高了代码的重复利用率

4、提高效率,循环可以实现自动化,让程序自动执行,节省人工成本,减少人工干预,提高效率

循环的作用:

为了批量的执行代码的方式,减少人工干预,提高执行效率 

for循环

1、for循环主要用于已知循环次数的循环

2、for循环的语法结构:

for 变量名 in 变量的取值范围

do

命令序列(作用:对取值范围内的变量进行的特定的操作)

done(标准结束符)

执行后

for循环的类似C语言的格式

for((表达式1;表达式2;表达式3))

do

~~~~~~~

done

例如:

执行后

输出方式

echo

命令:

-n   --------------  表示不换行输出

-e   --------------  使用转义符

常用的转义符:

\b  ----  可以理解为使用删除键

\n  ----  换行输出

\t  ----  相当于使用tab键

\c  ----  不换行输出  ------  特点:如果转义符过长会导致后面不会输出

循环控制语句

break ----  一旦触发break,整个循环就会立刻跳出,即使后续还有条件,页不会再去继续执行

continue  ----  触发continue后,只会跳出本次循环,后续的循环可以继续执行;

                      continue ~ 后面加上数字表示作用到第几层循环

exit  ----  直接退出循环,后续不再执行

while循环

while:当满足条件时,执行循环,不满足条件时结束循环

while用于不知具体循环次数的循环,需要被动结束循环或达到循环条件的场景

while的格式

while [ 条件语判断 ]

do

命令序列

done

例如

 特殊的while循环 ---- 死循环

使用格式:

while true  或   while [ 1 -eq 1 ]

设置生成随机变量 

命令语句: $RANDOM  -------------  生成一个随机数

无任何定义的 $RANDOM      范围:0 ~ 52767

定义范围:

$((RANDOM%100))  -------  范围:0 ~ 99

$((RANDOM%100+1))  --------  范围:0 ~ 100

$((RANDOM%1000))  -------  范围:0 ~ 999

shell函数

什么是函数?

将命令序列按照和格式写在一起(在函数中)

函数的核心作用:

重复多次使用命令序列

函数的特点:

使用函数可以避免代码重复

函数可以将大的功能分割成若干个小的功能模块,可以提高代码的可读性

函数的书写格式

function 函数名 {

命令序列(脚本)

}

 

 

另外一种格式

函数名 (){

命令序列(脚本)

}

 

 调用定义的函数,要在函数的末尾外声明函数名

return 

表示退出函数,并返回一个退出值,用$?可以显示退出值(0 / 非0 即 真 / 假)

一般return写在函数定义的最后一行;

退出值的范围:0 ~ 255;如果返回值超过了255,会输出返回值除以256后取余的值

在shell脚本中,return的返回值在不标注的情况下,默认为0或非0

总结:

return 作用在函数内部,在shell中,return一般用来判断函数的执行情况(即成功或是失败)

exit

作用于整个脚本,立刻终止,并且没有返回码

exit 0    ----    表示程序正常的退出

exit fei0   ----   表示程序非正常退出

函数传参

在shell中,调用函数可以传递参数;(使用位置变量来实现传参)

函数变量的作用范围

函数在shell中,仅仅在当前的shell环境中有效

在函数中定义的变量默认为全局变量,除非添加了local字段后变为内部变量

递归函数

函数调用自身的函数

函数库

函数库中包含函数的定义,脚本中包含调用函数的方法,也可以有执行代码

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值