shell 脚本-10函数

本文详细讲解了Shell脚本中的函数定义,包括使用function标识的函数和不带标识的函数,并介绍了函数参数的传递方式、使用$n或${n}

shell 脚本-函数

函数定义

function 标识的函数定义

示例代码

function fn1 () {
  echo "执行了 fn1 函数"
}
# 函数执行
fn1

执行结果

执行了 fn1 函数

不带 function 标识的函数定义

示例代码

fn2 () {
  echo "执行了 fn2 函数"
}
# 函数执行
fn2

执行结果

执行了 fn2 函数

函数的参数

函数内使用 $n${n} 访问对应的参数, 数字代表参数的前后顺序, $1 代表第一个参数, $2 代表第三个参数, $n 代表第n个参数.

注: $10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。

此外还可以使用 $# 获取参数的个数, 使用 $*$@ 获取所有的参数

$*$@ 的区别参考 shell脚本-参数 中的 $*和$@ 区别

示例代码

useParams () {
  echo "参数1: $1"
  echo "参数2: $2"
  echo "参数3: ${3}"
  echo "参数个数: $#"
  echo "所有参数: $*"
}

useParams 1 2 3 4 s

执行结果

参数1: 1
参数2: 2
参数3: 3
参数个数: 5
所有参数: 1 2 3 4 s

函数返回值

函数中使用 return 标识定义返回值, 如果没有 return 将以最后一条命令运行结果作为返回值.
函数执行后使用 $? 获取返回值

示例代码

sum () {
  total=`expr $1 + $2`
  return $total
}

sum 1 2
echo "sum 函数返回值: $?"

执行结果

sum 函数返回值: 3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eno_zeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值