Linux程序设计(Linux shell编程七)


各位看官,前几回咱们说了Linux shell编程中的结构,比如顺序结构,判断结构和循环结构。今天咱

们接着说shell编程中另外一个重要的成员:函数。


函数就某一个功能的集合。在程序设计中我们经常会遇到反复做多次事情的情况。比如看官们边听我说边

喝茶,不过这茶水是自己泡的,大家每天是不是需要自己把茶叶放到杯子中,然后去烧水,等待水烧开后,

把开水倒入杯子中,泡一会儿就可以喝了。如果现在有一个小二的人能替大家取茶叶,烧水,泡茶。大家

只需要每天去找小二,小二就会给大家泡好茶水。大家再也不需要自己第天都重复地:取茶叶,烧水,泡

茶。这个小二的主要工作是泡茶,至于怎么泡茶,看官们不需要知道,只要你叫小二,他就能给你泡好茶

水。小二的工作是泡茶,函数就像小二,它可以实现某个功能。函数的功能可以自己定义。你在函数中定

义了什么功能,他就做什么事情。就好比你叫小二,他就能给你泡茶。“小二”,哈哈哈。都有看官开始叫

小二了,不过咱们这里没有小二。看官也不要想太多,我只是打个比方来说明什么是函数。


看官们,知道函数是什么后,我们来看看函数的”模样“,也就是函数的形式。函数有两种形式,形式1为:

function FunctionName{}.形式2为:FunctionName(){}.当然了,在实际的程序中需要使用空格和换行来分

开这些格式,这样方便我们阅读程序。不过,对机器来说,分不分都是一样的。形式中的函数名最好叫和

函数功能相关的名字,这样方便大家看着名字就能知道这个函数有什么功能。比如刚才咱们举的例子中,

小二可以做泡茶的工作,泡茶可以当作是函数的功能,小二可以当作是函数的名字。不过”小二“这个名字

取的不好,从名字上看不上他能做泡茶的工作。形式中大括号里面的内容需要自己定义,它可以是任何

Linux中的命令,或者我们前几回说过的结构。总之,你想让函数有什么功能,你就把可以实现功能的程

序放到这对大括号中。”来个例子呗“。看官例子来了。

#! /bin/bash

echo "-----------------the starting line of shell-----------------"

showJJB()
{

    i=1
    j=1

    while [ $i -lt 10 ]
    do

        while [ $j -le $i ]
        do
            echo -e "$j x $i=$[$i * $j] \c"
            j=$[$j + 1]
        done

        echo
        j=1
        i=$[$i + 1]

    done
}

showJJB

echo "-----------------the ending line of shell-----------------"


新建立一个名叫t1.sh的脚本文件,把上面的内容输入到文件中,保存后,给文件加上执行权限,然后在

终端中运行该文件,并用依据程序提示输入内容得到以下结果:

-----------------the starting line of shell-----------------

1 x 1=1

1 x 2=2 2 x 2=4

1 x 3=3 2 x 3=6 3 x 3=9

1 x 4=4 2 x 4=8 3 x 4=12 4 x 4=16

1 x 5=5 2 x 5=10 3 x 5=15 4 x 5=20 5 x 5=25

1 x 6=6 2 x 6=12 3 x 6=18 4 x 6=24 5 x 6=30 6 x 6=36

1 x 7=7 2 x 7=14 3 x 7=21 4 x 7=28 5 x 7=35 6 x 7=42 7 x 7=49

1 x 8=8 2 x 8=16 3 x 8=24 4 x 8=32 5 x 8=40 6 x 8=48 7 x 8=56 8 x 8=64

1 x 9=9 2 x 9=18 3 x 9=27 4 x 9=36 5 x 9=45 6 x 9=54 7 x 9=63 8 x 9=72 9 x 9=81

-----------------the ending line of shell-----------------


看官们,这个例子中定义了一个叫showJJB的函数,定义的形式,使用的是形式2.我们为了美观,在该形

式中使用了换行。这个例子中showJJB就是这个函数的名字,通过这个名字,我们就能知道,该函数是用

来显示九九乘法表的。大括号中的内容是我们自己写的,主要功能是显示九九乘法表。通过这个例子,大

家清楚地看到了函数的样子。


各位看官,关于函数的内容,咱们今天就说到这里,欲知后事如何,且听下回分解。

你可能感兴趣的:(编程,linux,shell,shell)