一、为什么需要使用函数
因为shell没有模块和类的概念,当我们存在为了实现一个功能有大量的脚本需要执行时,
为了便于操作,会将这些代码放在一起,通过调用一个特定的名称进行执行。
使用函数能够提高脚本的复用率,能够优化代码结构。
二、语法
[function] 方法名()
{
需要执行的脚本
通常,[function都省略不写]
}
三、传参
3.1shell默认只支持9个参数,$1、$2分别表示第几个参数,使用shift可以传递更多的参数。
3.2、$#代表传入参数的个数,不包括$0
3.3、$$表示当前脚本执行的pid
3.4、$!后台最后一个运行的pid
3.5、$?将返回最新执行命令的退出状态,返回0代表执行成功,返回1或者其它非0的值表示执行失败
3.6、$0是一个特殊的变量,它表示当前脚本的名称。当脚本被执行时,$0将包含脚本的文件名,包括路径(如果指定了路径)
补充了解:
$a与$*的区别:
在函数之间进行参数传递时,"$a"不会将传递的参数打散;$*会将传递的参数打散
四、函数调用
4.1、函数调用:调用函数时,输入函数名就可以直接调用
4.2、参数传递:在函数名后,加入一个空格,然后跟上需要传递的参数
五、debug
1.在脚本开头提供参数 #! /bin/sh -x
2.-v表示在执行过程中打印到标准错误输出
3.-n会读一遍脚本,但不会执行脚本,会会去检查语法错误
--------------------自律是一件不容易的事情,希望你可以坚持下去