shell编程之循环语句与函数

 

一、 for语句

 1.for语句的结构

  • 读取不同的变量值,用来逐个执行同一组命令
  • 用于已知的循环次数场景

 for ((;;))  死循环

for  变量名 in 取值列表
do
       命令序列
done

2.for语句的应用 

 

二、 while语句

1.while语句结构 

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

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

2.while语句的应用 

 

 

三、 until语句

 1.until语句结构

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

 

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

 四、shell函数

1. shell函数

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

 2.shell函数定义

第一种 

[ function ] 函数名[]{
     命令序列
      [return x ]
}

第二种 

 函数名[]{
     命令序列
      [return x ]
}

 return 1 执行失败    return 0 执行成功

 

 3.调用函数的方法

函数名[参数1][参数2]

4. 返回值

1.return

  • 作用于函数内部,函数的返回值,返回值,继续执行脚本
  • 返回值的范围:0-255 超过255,取余
  • 约定成俗:0 就是成功  1 就是失败  如果返回非零,也都认为是失败
  • 在shell当中的返回码可以自定义,但是不能超过范围

2. exit

  • 终止函数的运行,exit 0   函数执行exit语句时,整个脚本将立即停止,并把指定的退出状态码返回给调用者

5. 函数传参

  •  在shell中,调用函数时可以向其传递参数。
  • 在函数体内部,通过 $n 的形式来获取零数的值,例如,$1表示第一个参数,$2表示第二个参数...即使用位置参数来实现参数传递。

6. 函数变量的作用范围

  • 函数变量在Shell脚本中仅在当前Shell环境中有效
  • Shell脚本中变量默认全局有效
  • 将变量限定在函数内部使用local命令

 示例

  • 函数内部变量通过local来实现
  • 通过定义myfun函数,在其内部设置局部变量i
  • 函数内部和外部分别赋值,进行结果验证

7.递归函数调用自己本身的函数

1. 阶乘

  • 阶乘(factorial)是基斯顺·卡曼(Christian Kramp,1760-1826) 于1808年发明的运算符号阶乘,也是数学里的一种术语。
阶乘指从1乘以2乘以3乘以4一直乘到所要求的数.6 1*2*3*4*5*6    0 12345678
例如所要求的数是4,则阶乘式是1x2x3x4,得到的积是24,24就是4的阶乘。 例如所要求的数是6,
则阶乘式是1x2x3x...x6,得到的积是720,720就是6的阶乘。例如所要求的数是n,则阶乘式是1x2x3x...*n,
设得到的积是X,X就是n的阶乘。

 在表达阶乘时,就使用”!“来表示。如h阶乘,就表小为h!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值