shell函数

2018-05-09  本文已影响0人  zhile_doing
  1. 函数
    shell中的函数与一般程序设计语言中的函数概念相同,将一组语句定义为一个函数,当想执行该组语句时调用该函数即可,通过参数可变实现功能扩展,提高代码重用性,而且模块儿化开发更容易维护
  2. 定义函数
    function fun1() { 
    command
    }
    function fun2 {
    command
    }
    fun3(){
    command
    }
    
    以上三种方式都可以定义函数,推荐使用第一种方式,在函数中可以使用return语句返回一个值,在函数结束时返回给当前程序,可用$?取得。函数调用时,使用fun_name的形式,不需要加括号,这和一般编程语言语法出入较大,需注意。
  3. 函数的调用与运行时参数
    函数调用
    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
    
  4. 函数示例(检测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 $*
    
上一篇下一篇

猜你喜欢

热点阅读