Shell脚本 函数

函数

基本结构
function 函数名()
{
	command...(函数体)
}

调用函数

即执行一次函数,使用形式为:
函数名 实参

传递、接收实参

传递实参:
函数名 实参1 实参2...
接收实参:
在函数中使用$1、$2...
传递实参的个数:
$#
引用所有实参:
$@

返回值

return 字符串
若函数有返回值,则可通过$?获取
注:return的值只有1Byte的宽度,这是因为Shell一般只用于配置,功能函数一般只返回Ture或False

函数运用举例

打印 n-m区间所有数的累加和
# !/bin/bash					
sum=0							#定义一个空变量做和
function add()						#定义一个函数add
{
	for var in `seq ${1} ${2}`			#引用实参$1$2
	do
		sum=` expr ${sum} + ${var} `			#进行累加
	done
	return ${sum}					#返回累加和sum
}
read -p “请输入所求区间的最小值:” min
read -p “请输入所求区间的最大值:” max
add “$min” "$max"					#调用函数,并引用两个实参
echo $sum 						#在函数执行完毕后,输出函数的返回值

在这里插入图片描述

递归

即自己调用自己

其本质为:
when	:从什么时候开始
when	:到什么时候结束
what		:每次递归时要干什么

递归运用举例

打印20-1的数
# !/bin/bash
function show()			#定义函数
{
	if test $1 -eq 21		#函数结束条件
	then
		return			#终止函数的此次执行
	fi
	show `expr $1 + 1`		#在函数结束前,优先进行递归直到函数终止
	echo $1				#打印相应的$1,由于调用函数在输出之前,故最终结果为优先打印最里层递归的$1值,即20开始到1结束
}
show 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值