shell编程——shell函数建立函数库脚本调用工作效率翻倍

在这里插入图片描述

shell函数

可以用户定义函数,然后在shell脚本中可以随便调用

函数的格式

方法1

function 函数名 {
   命令序列
}

方法2

函数名 () {
   命令序列
}

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

函数返回值return

  • return表示退出函数并返回一个退出值,脚本中可以用$?变量显示该值
    • 函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码
    • 退出状态码必须是0-255,超出值将会除以256取余
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

函数参数

  • 在Shell中,调用函数时可以向其传递参数,函数中的$1$2$3$4$#$*表示调用函数后面所跟的参数
    与函数外的$1$2…是调用键盘输入在脚本文件后的值
  • 如图
    在这里插入图片描述
    在这里插入图片描述
  • 例题:从1累加到10的值用传参的方式计算

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

  • 将相加的值乘以2
    通过把函数赋值的方式
    在这里插入图片描述

函数变量的作用范围

  • 函数在Shell脚本中仅在当前Shell环境中有效
  • Shell脚本中变量默认全局有效
  • 将变量限定在函数内部使用local命令
    在这里插入图片描述
    在这里插入图片描述

递归

  • 函数调用自己本身的函数
  • 阶乘实例
    在这里插入图片描述
#分析思路比如输入5时
fact 5
$1=5     temp=4     result=fact 4     echo 5 * (4 * (3 * (2 * (1))))
fact4
$1=4     temp=3     result=fact 3     echo 4 * (fact 3)
fact3
$1=3     temp=2     result=fact 2     echo 3 * (fact 2)
fact2
$1=2     temp=1     result=fact 1     echo 2 * (fact 1)
fact1
1

递归目录

递归查看/var/log目录下的目录和文件
在这里插入图片描述

函数库

  • 函数库的作用:把实现同一类型功能的函数写在同一个脚本文件中方便归类,使用该函数时直接调用即可

  • 定义一个简单算法函数库,该函数库内函数功能如下

  • 加法函数add

  • 减法函数subtraction

  • 乘法函数multiplication

  • 除法函数divider
    在这里插入图片描述

  • 调用函数库里的函数
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53496398/article/details/114643295