Linux shell脚本之函数 Function 详解

本文详细介绍了Linux shell脚本中的函数,包括函数的定义、生命周期、返回值、参数传递以及变量作用域。讨论了本地变量和局部变量的区别,并提供了递归函数的示例,如阶乘函数和斐波那契数列。此外,还强调了在函数中正确使用变量的重要性。
摘要由CSDN通过智能技术生成

函数详解

在过程式编程中,代码会重用。过程式编程又分为:模块化编程和结构化编程。
把代码重用的代码段进行命名,并重复调用,这就是函数

函数(function):把一段独立功能的代码当作一个整体,并为之命名一个名字,成为命名的代码段,此即为函数。

在使用函数时,需要注意以下几点:

  • 1、定义函数的代码段在定义时是不会被执行的,在调用时才会被执行。
  • 2、在脚本中如果想要调用函数,在代码中给定函数名即可。
  • 3、函数名出现的任何位置,在代码执行时,都会被自动替换为函数代码

函数语法

函数常用的语法格式有两种:

  • 语法格式一
function  f_name  {
	...函数体...
}
  • 语法格式二
f_name()  {
	...函数体...
}

函数的生命周期

函数的生命周期在被调用时开始,返回时终止。

其状态返回结果为函数体运行的最后一条命令的状态结果。当然也可以自定义状态返回结果。

  • 自定义函数的状态返回值,需要使用命令:return,格式如下:
    # return [0-255] ;其中 0 代表成功; 1~255 代表失败。
  • 函数执行过程中,只要遇到 return 就会终止执行,即使函数中还有未执行完的命令,类似于脚本中的 exit 。

大家一定要注意区分状态返回结果和状态返回值:

命令的返回结果:比如使用 ls 输出的内容列表
命令的状态返回值: 使用 # echo $? 进行查看。0 代表成功; 1~255 代表失败。

函数返回值

函数的返回值包括两个:

  • 1、函数的执行结果返回值
a、使用 echo 或者 printf 命令进行输出(printf 不会换行)
b、函数体中调用的命令的执行结果
  • 2、函数的退出状态码
a、默认取决于函数体中执行的最后一条命令的退出状态码
b、自定义:return 值

函数参数

函数可以接受函数,在函数体当中,可以使用 $1,$2,… 引用传递给函数的参数。也可以使用 $* 或 $@ 引用所有的参数,使用 $# 引用传递的参数的个数。
在调用函数时,在函数后面以空白符分隔给定参数列表即可,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值