Bash编程008——函数(二)
2018-12-30 本文已影响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