函数名 () // 函数名前面也可以加 function
{
命令1
…
}
可以将函数看做是脚本中的一段代码,但是有一个主要区别:执行函数时,它保留当前 shell 和内存信息,此外如果执行或调用一个脚本文件中的另一段代码,将创建一个单独的 shell, 因而取出所有原脚本中定义的存在变量。
例如 :
hello()
{
echo “Hello, this function is only echo hello”
}
所有函数在使用前必须定义,这意味着必须将函数放在脚本开始部分,直至 shell 解析器首次防线它时,才可以使用。
向函数传递参数
向函数传递参数就像在一般脚本中使用特殊变量 $1, $2, … $9 一样,函数取得所传参数后,将原始参数传回 shell 脚本,因此最好先在函数内重新设置变量保存所传参数,函数里调用参数( 变量 ) 的转换以 下划线开始,后加变量名,如 _FILENAME 或 _filename.
从调用函数中返回
可以将 函数文件先放到 linux 后台,然后当执行别的 shell 文件时,可以直接使用在后台 ( shell ) 中的函数,例如
pg functions.main
#! /bin/sh
findit() {
echo “Hello,world”
}
然后运行这个 shell 脚本,那么 pg 就是将它们放到了后台。。
./ pathname/filename
使用 set 命令可以查看该函数是否载入
这时候,可以直接在 shell 中执行该函数,即直接在 shell 提示符 下输入 findit 就可以了
unset function_name 可以将该函数删除
-- 其实 shell 脚本也是每条命令依次执行,所以,当然可以在某个 shell script 脚本中调用别的 函数( 已经放在 shell中 ).