今天看啥  ›  专栏  ›  若梦儿

Bash编程008——函数(二)

若梦儿  · 简书  ·  · 2018-12-30 19:34

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



原文地址:访问原文地址
快照地址: 访问文章快照