美文网首页Shell
Bash编程008——函数(二)

Bash编程008——函数(二)

作者: 若梦儿 | 来源:发表于2018-12-30 19:34 被阅读1次

    Bash编程008——函数(二)

    8.1 函数库文件

    为了方便地重用函数功能,可以创建函数库文件,保存常用的函数。

    定义:函数库文件类似于一个脚本文件,区别在于库文件通常只含有函数定义,而脚本文件中则包含函数和变量的定义,以及可执行的代码(函数外部的代码)。

    示例:如下所示的脚本文件

    #!/bin/bash
    function out() {
        echo "$1"
    }
    
    str="Hello, world"
    out "$str"
    

    其中,第2~4行定义了一个名为out的函数,第7行是可执行的代码。

    新建一个函数库文件,命名为lib.sh

    #!/bin/bash
    function out() {
        echo "$1"
    }
    

    在终端执行

    # 加载库文件
    . lib.sh
    out "Hello, world"
    # 结果:Hello,world
    

    8.2 递归函数

    Bash支持函数的递归调用,即函数可以直接或者简介地调用自身。

    示例:该函数递归调用自身输出i的值,直到i>10

    function fun() {
        i=$1
        echo "i is $i"
        let i++
        if test $i -gt 10
        then
        return 0   
        fi
        fun $i
    }
    
    fun 1
    
    #结果
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    相关文章

      网友评论

        本文标题:Bash编程008——函数(二)

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