- 函数
shell中的函数与一般程序设计语言中的函数概念相同,将一组语句定义为一个函数,当想执行该组语句时调用该函数即可,通过参数可变实现功能扩展,提高代码重用性,而且模块儿化开发更容易维护 - 定义函数
以上三种方式都可以定义函数,推荐使用第一种方式,在函数中可以使用return语句返回一个值,在函数结束时返回给当前程序,可用$?取得。函数调用时,使用function fun1() { command } function fun2 { command } fun3(){ command }
fun_name
的形式,不需要加括号,这和一般编程语言语法出入较大,需注意。 - 函数的调用与运行时参数
函数调用
funname para1 para2 para3
在函数中可以通过$1 $2 $3 $# $? $* $@使用这些参数,父脚本参数临时被隐藏。
输出如下function f1(){ echo "you type $# param" echo "they are $@ " } function f2(){ echo "you type $# param in f2 call" echo "they are $@" } f1 f2 1 2 3 4 5
$ bash test_param.sh you type 0 param they are you type 5 param in f2 call they are 1 2 3 4 5
- 函数示例(检测url是否可达,使用wget工具,根据返回值来判断)
function usage(){ echo "usage: $0 url" exit 1 } function check(){ wget --spider -q -o /dev/null -T 5 $1 if [ $? -eq 0 ] then echo "url test susscefully" else echo "failed" fi } function main(){ if [ $# -ne 1 ] then usage fi check $1 } main $*
网友评论