Shell编程之循环语句与函数

目录

1.循环语句

1.1 for循环语句

1.1.1 for语句结构

1.1.2 循环嵌套

1.2 while循环语句

1.3 until语句的结构

 2 Shell函数

2.1 Shell函数定义

2.2 递归函数

2.3 数组

2.3.1 数组的定义

2.3.2 数组的分类

3 补充:continue和break

3.1 continue和break使用方法

本章总结


1.循环语句

1.1 for循环语句

1.1.1 for语句结构

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

例1

 

 

 

 例2

例3

 

例4

 

例5

例6

 例7

1.1.2 循环嵌套

例1

 例2:九九乘法表

 

1.2 while循环语句

 

例1

 例2

 例3

例4

例5

 方式二

例6:猜商品价格

例7:监控系统资源中的内存和硬盘空间

例8:商店购物

#!/bin/bash
i=1
sum=0
while [ $i -le 5 ]
do
	echo "进入第$i家商店"
	read -p "是否进店购物(yes/no)" doing
	while [ $doing = "yes" ]
	do
	    echo "1:衣服 ¥200"
	    echo "2:鞋子 ¥150"
	    echo "3:帽子 ¥50"
	    echo "4:裤子 ¥165"
	read -p "请选择需要购买的商品的序列号:" num
	case $num in
	  1)
	    echo "衣服购买成功"
	     expr $[sum+=200] &>/dev/null
	     ;;	
	  2)
	    echo "鞋子购买成功"
	     expr $[sum+=150] &>/dev/null
	     ;;
	  3)
	    echo "帽子购买成功"
	     expr $[sum+=50] &>/dev/null
	     ;;
	  4)
	    echo "裤子购买成功"
	     expr $[sum+=165] &>/dev/null
	     ;;
	 esac
	 read -p "是否进行购买(yes/no)" doing
	 done
let i++
if [ $doing = "no" ]
 then continue
fi
done
echo "购物总价为:$sum"

1.3 until语句的结构

重复测试某个条件,只要条件不成立则反复执行

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

 例:计算1-50的和

 2 Shell函数

  • 将命令序列按格式写在一起
  • 可方便重复使用命令序列

2.1 Shell函数定义

方法一:
[function] 函数名(){
        命令序列
[return x]  #使用return或exit可以显示地结束函数
}

方法二
函数名(){
         命令序列
}

例1

例2

 例3

 例4

 

 例5

 例6

 例7:阶乘

 

2.2 递归函数

例1

 例2

2.3 数组

2.3.1 数组的定义

数组是存放相同类型数据的集合,在内存中开辟了连续的空间,通常配合循环使用


2.3.2 数组的分类

普通数组:不需要声明直接定义,下标索引只能是整数
关联数组:需要用declare -A声明否则系统不识别,索引可以是字符串

 

例1

 例2

 

3 补充:continue和break


break和continue都是用来控制循环结构的,主要是停止循环。

break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。 这时我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。

continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。 可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。

3.1 continue和break使用方法

break:

  • 语法 break 将用于以下break语句退出循环
  • break n 这里n指定的第n个封闭的循环退出

continue:

  • 语法 continue 和break语句一样,一个整数参数可以给continue命令跳过嵌套循环的命令
  • continue n 这里n指定第n个封闭循环 continue 

本章总结

  • for语句的结构
  • while语句的结构
  • until语句的结构
  • Shell函数定义方法
  • 数组使用方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值