简介
1、函数也具有别名类似的功能
2、函数是把程序里多次调用相同的代码部分定义成一份,然后给这份代码定义个名字,如果出现重复的就调用就行了
函数优势
1、把相同的程序段定义成函数,可以减少整个程序的代码量
2、可以让程序代码结构更清晰
3、增加程序的可读、易读性、以及管理性
4、可以实现程序功能模块化,不同的程序使用函数模块化
语法格式
格式
function 函数名(){
指令
return n
}
提示:shell的返回值是exit输出返回值,函数里用return输出返回值
函数的执行
1、直接执行函数名(不带括号)
执行函数无需带小括号
函数的定义、及函数整体需在执行的函数名之前定义
2、带参数的函数执行方法 (函数名 参数1 参数2)
提示:函数的传参和脚本的传参类似
shell的位置参数($1 $2 $3 $4 $5 $# $* $? $@)都可以是函数的参数
$0比较特殊,仍然是父脚本的名称
在shell函数里面,return命令功能与shell里的exit类似,作用时跳出函数
在shell函数里面使用exit会退出整个shell脚本,而不是退出shell函数
return语句会返回一个退出值(返回值)给调用函数的程序
案例1:调用函数
案例2:多次调用函数
案例3:将函数写到/etc/init.d/functions里面,然后通过其他脚本进行调用
案例4:将函数写到/etc/init.d/functions里面,通过其他脚本进行调用然后传参
案例5:设置提示函数,如果传的参数的值不符合就打印帮助函数
案例6:将函数的传参转换成脚本文件命令行传参,判断任意指定的URL是否存在异常
案例7:给任意字符串加指定颜色
案例8:使用shell函数开发rsync服务启动脚本(使用start、stop、restart函数将代码 模块化,使用系统函数action优化显示)