首页 > 代码库 > 2.Linux Shell函数

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命令删除的是函数。

  

 

2.Linux Shell函数