1、Shell脚本中自定义函数格式如下图所示,最重要的是函数名以及函数中包含的处理步骤。
2、定义一个标准自定义函数testFunction(),并且进行调用。如下图所示,调用时直接使用函数名即可,不需要括号,另外,接收函数返回值可以直接用$?即可。
3、注意自定义函数中return后只能跟int值,否则会出现非法数值的报错。
4、在Shell脚本函数中,也可以省略掉return,但是在接收函数结果时使用$?依旧可以接收到值为0,返回0代表执行成功,返回其他值表示执行出错。
5、在实际运用函数时我们往往需要让函数返回我们想要的值,此时return无法满足要求,解决的办法是定义全局变量,如下所示。
6、对函数进行传参,如下图所示,可以使用函数名加空格加参数的形式进行。
7、Shell解释器自上而下解析代码,因此函数的定义必须在调用之前,这就意味着函数必须书写在脚本开始部分,如下,如果定义在调用之后,则会报错。(这里返回值为非0也证明了$?返回值非0时,函数执行出错)
8、总结,Shell脚本中函数的定义相较于java函数,在传参及返回值等方面都有比较大的差异,牢记Shell函数的定义及调用方式,是灵活运用Shell函数的第一步。