什么是函数呢?

函数就是将一些代码封装起来,实现代码重用的功能

函数是不能独立运行的,只有函数调用时才可以执行,而且可以调用多次

使用函数的好处可以避免代码多次重复使用,使程序代码更具有结构性。


那么该如何定义函数呢?

定义函数有二种结构

结构一:

function FUNCNAME {

    COMMAND

}

其中function为关键字,FUNCNAME为函数名,COMMAND为函数体内执行的命令


结构二:

FUNCNAME() {

    COMMAND

}

其中FUNCNAME为函数名


我们说过函数只有调用时,函数体内的命令才会生效,函数是不能自行运行的。

那么该如何调用函数呢?

其实很简单,直接使用函数名调用即可

例如使用PING函数名来调用函数

wKiom1PH9WLTAxt3AAF16tlNZGM414.jpg


函数的参数

函数是可以传递参数的,只需要在函数后面接上参数即可。

形如 FUNCNAME argument1 argument2...

在linux中的函数的参数都对应着一个位置变量,也就是说每一个参数对应的位置变量为$1,$2,$3...

等等,依次类推。

因此在函数体内只需要使用位置变量就可以调用参数的值了。

wKiom1PH9n_Sf_3jAAFYG8gtmtA064.jpg

 


return关键字

在之前学习脚本的时候,我们知道可以使用exit命令来自定义脚本执行状态的返回值。其中0表示脚本执行成功,非0表示脚本执行失败。

那么在函数中,如何定义函数的执行状态返回值呢?

使用return命令即可

其中0表示函数执行成功

1-255表示函数执行失败

在函数中只要遇到return关键字,系统就会退出该函数,不再执行该函数内的内容。

如果是exit则会退出整个脚本

wKiom1PH96_igf5-AAGWf_83ED8153.jpg

其中$?用来保存函数执行状态的返回值的。