shell脚本之shell函数

shell函数定义

shell中函数的定义格式如下:

[ function ] funname [()] 
{  
    action;
    [return int;] 
} 

可以带function fun()定义也可以不带

shell函数返回值

若显示地使用return,则根据return 的值返回,否则以最后一条命令的运行结果作为返回值

add_func()
 26 {
 27     echo -e "两数相加\n"
 28     echo "请输入第一个数字:"
 29     read num1
 30     echo "请输入第二个数字:"
 31     read num2
 32     return $(($num1+$num2))
 33 }
 34 add_func
 35 echo "两数之和为$?"  

函数参数

我们还可以给函数传参,在函数内部使用$n来获取函数第n个参数
如上述例子我们不想一次次输入数字,想一次性输入,则可以如下:

 add_func()
 26 {
 27     echo -e "两数相加\n"
 28     return $(($1+$2))
 29 }
 30 add_func 5 6                                                                
 31 
 32 echo "两数之和为$?"

需要注意的是, 10 不 能 用 来 获 取 第 10 个 参 数 , 要 用 10不能用来获取第10个参数,要用 1010(10),避免1和0分开

与函数参数相关的几个特殊字符

字符描述
$#传递到脚本的参数个数
$*以一个单字符串显示所有向脚本传递的参数
$$脚本运行的当前进程IP号
$!后台运行的最后一个进程ID号
$@与$*相同,但使用时加引号,并在引号中返回每个参数
$-显示shell当前使用的选项,与set命令功能相同
$?显示最后命令的退出状态,0无错误,其他有错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值