函数的运用

函数的运用

  • 一、函数的定义
  • 二、简单函数实验
    • 两个数字的运算:
    • 调用位置变量
    • 函数变量的作用范围
  • 三、函数的递归
    • 阶乘
    • 递归目录
  • 四、函数库

一、函数的定义

shell函数是经常使用的,因为有些命令序列是需要反复调用执行的,将命令序列按格式写在一起,以便可以重复的使用。
shell函数:
使用函数可以避免代码重复
使用函数可以将大的工程分割为若干小的功能模块,代码的可读性更强
格式为:
[function] 函数名(){
命令序列
[return x]
}
[function]是可选的,表示该函数的功能,是可以省略掉的,函数后面加一个(),里面是没有内容,而执行的命令序列是放在{}里面的,[return x]的作用是当命令序列执行完后返回给系统的一个值,该项也是可以省略的。
函数返回值:
return表示退出函数并返回一个退出值,脚本可以用$?变量显示该值
使用原则:

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

建议在操作过程中,先给函数的结果赋予一个变量,这样后期还可以对函数进行加工
函数名虽然可以自定义随便设置,但是不要跟系统命令一样,不然无法使用,会有冲突
函数和$?之间不能夹杂别的命令,因为显示的是上一个命令的值,如果之间有其他命令,则会显示其他命令而不是函数的返回值。

二、简单函数实验

两个数字的运算:

函数的运用_第1张图片
在这里插入图片描述

调用位置变量

函数的运用_第2张图片
或者
函数的运用_第3张图片
函数里面的代表的是函数后面脚本之内的位置变量,而下面的$1代表的是脚本之外的位置参数。

函数不管放在哪儿,如果没有定义或者调用,是不会执行
函数的运用_第4张图片

函数变量的作用范围

函数在shell脚本中仅对当前的shell环境中生效,shell脚本中变量默认全局有效,也就是函数外的命令也可以调用

函数的运用_第5张图片
使用local命令可以将变量限定在函数内部使用
函数的运用_第6张图片

三、函数的递归

就是在条件满足的情况下,自己调用自己,知道条件不满足为止。

阶乘

函数的运用_第7张图片
以输入参数为五为例:
函数的运用_第8张图片

递归目录

函数的运用_第9张图片

四、函数库

可以先建立一个脚本文件作为函数库,在使用时就可以直接调用函数库里面的函数。

  • 先建立以一个函数库

函数的运用_第10张图片

  • 写一个脚本,可以直接调用函数库

函数的运用_第11张图片

你可能感兴趣的:(linux,git,运维)