Shell 函数

77 阅读2分钟

目录

一、函数的定义

二、函数返回值

1.使用原则

2.函数传参

3.函数变量的作用范围

4.递归

三、函数的调用


一、函数的定义

1.
function 函数名{
命令序列
}                           规范用法

2.
函数名() {            最常用,最简洁
命令序列
}

3.function 函数名 () {

    命令序列

}

        函数定义完之后并不会自动执行,需要调用才行,好处在于可以写一段功能代码作为函数,有需要就直接调用
定义的时候出现语法错误也没关系,不调用就不会报错

二、函数返回值

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

1.使用原则

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

  

2.函数传参

 

 

3.函数变量的作用范围

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

  

4.递归

(1)函数调用自己本身的函数
(2)必须要有结束函数的语句,防止死循环

阶乘

  

三、函数的调用

直接在脚本里定义函数的代码块后写函数名即可完成调用
#!/bin/bash
function fun1 {                          定义了一个函数叫做fun1
echo "this is a function!"          函数体的功能是打印"this is a function!
}

fun1                                         直接写函数名就会运行函数体内的代码

注意:1.函数名必须是唯一,如果先定义了一个,再用同样的名称定义,第二个会覆盖第一个的功能,出现意外的结果,所以这里一定要注意不要重名!

        2.调用函数之前必须先进行定义!