Shell编程之循环语句与函数

一、for循环

for循环,又有人称之为条件循环,或者for i in ,其实就是for循环的特性,次数和给与的条件是成正比的。

1.for循环案例

for 变量名 in {list}
 
do
    #执行语句
done
 
for i in {a..c}
do
    #执行语句
done 
 
for i in {1..5}    //{}里面不识别变量
do
    #执行语句
done

在这里插入图片描述

2.{}和seq在for循环的应用

#!/bin/bash
a=10
for i in $(seq 1 $a);do     #seq生成数字序列
 echo "一:$i"
done

for i in {1..10..2};do      #110,2为步长
 echo "二:$i"
done

for i in $(seq 2 2 10);do   #210,中间的2为步长
 echo "三:$i"
done
~     

在这里插入图片描述

在这里插入图片描述

3.不带列表循环执行时由用户指定参数和参数的个数决定的

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

4.文件传值

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

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

二、while语句

1.引入库


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

break 和 continue的区别

break 语句结束整个循环
continue 语句只结束本次循环

#!/bin/bash
i=0
while [ $i -le 5 ]
do
 if [ $i -eq 3 ];then
  let i++
  continue
 elif [ $i -eq 5 ];then
  break
 fi
 let i++
 echo $i
done

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

三、 until 循环语句结构

用法:重复测试某个条件,只要条件不成立则反复执行(与while相反)
在这里插入图片描述
在这里插入图片描述

四、函数

1.shell函数定义
将命令序列按格式写在一起
可方便重复使用命令序列

[function] 函数名(){
  命令序列
[return x]                           #使用return或exit可以显示的结束函数 
}
 
 
或者
 
                                     #也可以省略掉[function],它表示该函数的功能
 
函数名() {                            #函数名后面()是没有内容的
  命令序列                            #我们执行的命令内容放在{}里面
}

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

函数返回值return

return表示退出函数并返回一个退出值,脚本中可以用$? 变量显示该值使用原则

函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码
退出状态码必须是0~255,超出时值将为256取余

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

传参

参数的用法

函数名称、参数1、参数2、参数3 …
在这里插入图片描述

阶乘

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

五、数组的使用方法

标题数组的定义方式

下标从0开始

第一种:直接把要加入数组的元素用小括号括起来,中间空格分开

num=(11 22 33 44)

${#num}显示字符串长度

数组名=(value0 value1 value2)

第二种:直接把要加入数组的元素用小括号括起来,中间用空格分开

num=([0]=55 [1]=66 [2]=77 [4]=88)

数组名=([0]=value [1]=value [2]=value [4]=value…)

第三种:先把要记入数组的元素全部先赋值给一个变量,然后引用这个变量加入到数组

list=“11 12 13 14”

num=($list)

echo ${#a[*]}  #显示数组长度
echo ${a[2]}   #显示数组下标下的元素
echo ${a[*]}   #显示数组全部元素
unset a        #删除数组

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值