2.Linux Shell函数
1.Shell搜索命令的顺序
当Shell执行命令时,并不是直接就在PATH路径中查找,而是按照固定的顺序依次寻找命令位置。搜索顺序如下。
1.别名。即使用alias commond="..."创建的命令。
2.关键字。如if,for。
3.函数。
4.内置命令。如cd,pwd等命令。
5.外部命令。脚本或可执行程序,这才在PATH路径中查找。
2.函数使用的规则
1.先定义,后使用。
2.函数在当前环境运行,共享调用他的脚本中的变量。
3.函数允许以位置参数的方式传递参数,位置参数是函数私有的,对位置参数的任何操作不用影响函数外部使用的任何参数。
4.函数内部使用local限定词创建局部变量。
5.如果函数使用exit命令,会退出脚本。
6.函数返回使用return。如果没有指定return的参数,则函数返回最后一条命令的退出状态。return命令同样也可以返回传给它的参数,按照规定,return命令只能返回0~255之间的整数。
7.使用内置命令export-f可以将函数导出到子Shell中。
8.如果函数保存在其他文件中,可以使用source或dot命令将它们装入到当前脚本中。
3.函数定义
要定义一个函数,可以使用下面两种形式:
function funcname () #在这种情况下,圆括号并不是必须的 { Shell commands }
或
funcname ()
{
Shell commands
}
两者没有功能上的区别。就像删除变量一样,函数也可以通过unset -f funcname删除。其中,-f参数提示unset命令删除的是函数。