Shell脚本中的自定义函数
在写程序时,经常会用到函数,一般开发工具拥有丰富的函数库。但有时还需要根据自己的需要自定义函数满足我们的需求。在linux中,写shell脚本也一样,有时会用到自定义函数。
函数,最简单的定义为:将一组命令集或语句形成一个可用块,这些块称为函数。
1、定义函数的格式:
function-name ( ){
command1
........
}
或 function function-name( ) { #函数名前面多了个function关键字
command1
........
}
2.函数调用
以下是一个函数的脚本实例:
#!/bin/bash
function hello(){ #声明函数
echo "Hello!" #函数的主体,输出"Hello!"
} #函数结束
hello #调用函数
3.参数传递
向函数传递参数就像在脚本是使用变量位置$1,$2,$3...$9
以下是一个传递参数的实例:
#!/bin/bash
function hello(){
echo "Hello! The first parameter is '$1'."
}
hello good
#该脚本执行的结果是: Hello! The first parameter is 'good'.
4.函数文件
保存函数的文件,用以上的例子写成一个函数文件如下:
#!/bin/bash
function hello ( ){
echo "Hello!"
return 1
}
上面的hellofunction文件就是一个函数文件,可通过另一个脚本来调用
#!/bin/bash
. hellofunction #调用函数文件,点和hellofunction之间有个空格
hello #调用函数
5.载入和删除
用set查看已载入的函数
用unset function-name 取消载入
举例如下:
#!/bin/bash
#hellof
. hellofunction
unset hello
hello #因为已经取消载入,所以会出错