Shell师徒西天取经----第五天Shell的函数

函数对于每一种编程语言来说都有,只是每一种的形式不一样。

例如以下几种编程语言的函数定义:

java的函数为方法形式为:

修饰符    返回值类型    函数名  (  [    参数类型1 参数名1,参数类型2 参数名2....    ]  ){

                   //   [    ]    里面表示可选项,即参数不是必须的

                   执行语句...

                   return  返回值;    //返回值的类型必须与返回值类型一致

       }
  python函数形式为:

def  函数名(参数1,参数2,......):  

       执行语句

      return   返回值;            //选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

Shell的函数定义为:

function (){
            action;
            [return int;]
        }
    function函数可以带参数也可以不带参数
    function返回,可以加上也可以不加,不加默认返回最后一条命令的结果,return后面跟数值(0-255)

使用实例:

#不带返回值,默认返回命令执行结果
demoFun(){
	echo "Shell测试函数"
}
echo "准备开始执行函数"
demoFun
echo "函数执行完毕"

# 带return返回
funWithReturn(){
	echo "--------------这个函数执行数字相加-----------"
	echo "请输入相加数字:"
	read Num1
	echo "请输入第二个相加的数:"
	read Num2
	echo "你输入的两个数字分别为${Num1}和${Num2}"
	return $((${Num1}+${Num2}))
}
funWithReturn
echo "输入两个数的和为:${?}!"

# 函数带参数
:<<EOF
	$10不能获取第十个参数,获取第十个参数需要${10}
	当参数大于十个的时候要使用${n}这样来获取参数
	$#传递到脚本的参数述个数
	$*以一个单字符显示所有脚本传递的参数
	$$ 脚本运行的当前进程的ID号
	$! 后台运行的最后一个进程的ID号
	$@ 与$*相同,但是使用时加引号,并在引号返回每个参数
	$- 显示Shell使用的当前选项,与set命令功能相同
	$? 显示最后退出的状态,0表示没有错误,其它数字表示出错(仅仅对上一条指令负责,一旦函数返回值没有保存入参数 ,那么其返回值将不能通过$?获得)
EOF
funWidthParam(){
	echo "第一个参数为:$1!"
	echo "第二个参数为:$2!"
	echo "第三个参数为:$3!"
	echo "第三个参数为:$4!"
	echo "第三个参数为:$4!"	echo "第三个参数为:$5!"
	echo "第三个参数为:$4!"	echo "第三个参数为:$6!"
	echo "第三个参数为:$7!"
	echo "第三个参数为:$8!"
	echo "第三个参数为:$9!"
	echo "第三个参数为:${10}!"
	echo "一共有$#个参数!"
	echo "所有字符串:$*!"
}
funWidthParam 18 24 32 46 58 64 71 81 93 100
发布了32 篇原创文章 · 获赞 7 · 访问量 7749

猜你喜欢

转载自blog.csdn.net/adim__/article/details/105212173
今日推荐