美文网首页
linux 函数定义与调用

linux 函数定义与调用

作者: 风吟空城 | 来源:发表于2018-11-27 21:23 被阅读0次

    函数定义

    定义语法

    linux shell函数定义语法有2种,如下:

    语法1

    function test {
        #函数内容
    }
    

    语法2

    test() {
        #函数内容
    }
    

    注:

    • 不得声明形式参数,故推荐使用语法1;
    • 函数不支持重载,后面相同名称的函数会覆盖前面的函数;
    • 方法在调用之前必须先声明;

    返回值

    函数返回值有2种方式,如下:

    方式1

    function test {
        #函数体...
        return n;    
    }
    

    注:

    • n为整数值,返回为0-255,超出了255返回1;返回1有待验证!!!
    • 函数返回值,在函数执行过后,可以通过$?获取;

    方式2

    使用反引号“``”,获取函数最后一条命令运行结果,并将该运行结果输出赋予某一变量,如:

    function test {
        echo "hello";
    }
    
    function print {
        test_result=`test`;
        echo $test_result;
    }
    

    注:

    • 反引号“``”不是单引号,而是TAB键上面那个键;

    函数调用

    无参

    无参函数调用直接使用函数名调用即可,如:

    function test {
        echo "hello";
    }
    
    function print {
        test;
    }
    

    有参

    有参函数调用和无参调用类似,直接在函数名后加上参数即可,多个参数用空格隔开,如:

    function say_hello {
        echo "say hello to $1 and $2";
    }
    
    function test {
        say_hello tom lucy;
    }
    

    注:

    • $n,n从1开始。$1即为第一个参数,$2即为第二个参数,以此类推...;

    附 特殊参数处理字符

    参数 说明
    $# 传递到脚本的参数个数。
    $* 以一个单字符串显示所有向脚本传递的参数。
    $$ 脚本运行的当前进程ID号
    $! 后台运行的最后一个进程的ID号
    $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
    $- 显示Shell使用的当前选项,与set命令功能相同。
    $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

    相关文章

      网友评论

          本文标题:linux 函数定义与调用

          本文链接:https://www.haomeiwen.com/subject/fhvnqqtx.html