首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

linux基础(二十)----linux编程基础----子程序----函数(1)

linux基础(二十)----linux编程基础----子程序----函数(1)

写一个又大又复杂的程序的技巧之一,就是将该程序分解成一些称之为子程序的小程序,而在每一个子程序中,又可以把重复出现的代码组织到一起形成一个函数。

    函数和子程序执行的是主程序某一特定的任务。我们要做的工作就是写一个主程序,当需要某一个函数和子程序的时候就调用它们。


   本章先了解函数。


   在编写Linux程序的时候,有时不得不一遍又一遍地重写某些相同的命令。例如,给朋友写一份邀请信,请他们来参加一个狂欢舞会。可把这些信息写在一个for in循环中,并将每个朋友的名字放在一个单词表中。当然,也可以把每一份邀请信都写进程序中,只不过是将内容重写几次罢了。或者使用一个函数。


    函数(function)是Linux程序的一部分,与程序的其余部分是分开的。试设想一下:一个函数就像程序中的一个分隔仓。我们先给一个函数取一个惟一的名字(即函数名),然后就可以把经常要使用的一条或多条命令放入函数之中。
    当linux需要使用存放在函数中的命令时,可以在程序中键人该函数的名字。因此,通过使用函数名就可以重复使用函数中的命令,而不必再重写这些命令。譬如,把那些邀请词放在一个函数中。
    在每次调用函数时,可以给函数传递一定的信息。这个过程称之为给函数传递参数。因此,可以创建一个打印邀请信的函数,每调用它一次,就给函数传递一个名字,而函数则会自动地把名字赋给函数中的某个变量。以后,当涉及到那位朋友的时候,代表他的就是一个变量,而不是他的名字。

   通常使用函数来处理传递给函数的某些信息,然后,将处理结果返回到程序的调用处。函数处理后返回的结果称之为返回值(return value)。我们可以在程序中利用这个返回值。
    如果需要重写某段代码,就可以使用函数来代替它。


创建一个函数
    在使用一个函数之前,必须先在程序中定义一个函数。因此,创建一个函数最好的地方是在程序的开始位置。创建函数也称之为定义函数,定义的结果称为函数定义。

定义一个函数请遵循下述步骤:
1.首先在程序中键入一个关键字function。
  它表示要创建一个函数。
2.给函数起一个名字。且它在程序中没有任何重名。
  函数的名称最好能反映函数的功能。
3.在函数名和第一个命令之间要使用一个开大括号"{"。
  它表示函数执行命令的入口。
4.在函数体中键入所需要的任何命令。
  在函数体中使用在本书中讨论的任何命令都可以。
5.在函数体每一个命令之后,下一个命令之前用一个分号";"隔开。
  注意,分号和命令之间不要留有空格。分号";"表示一个特定的命令结束。
6.在最后一个命令的分号";"之后用一个闭大括号"}"。
  注意,在最后一个分号"}"和"|"之间不要留有空格。闭大括号"|"表示函数定义的结束。

下面是函数定义的一般格式:
function name
{
command;
command;
}
下面是一个典型的函数定义,它的作用是在屏幕上显示一条欢迎信息(此函数例子在本
章后面还会引用到,请留心)。

function display
{
echo "Welcome to the world"
echo "of functios"
}





调用一个函数
    在定义了一个函数以后,调用它是非常容易的。我们需要做的就是在需要使用该函数的地方用一下函数名即可。

通过函数调用,Linux会自动寻找该函数的定义,并执行其中的每一条指令。

    在程序执行到闭大括号“}”后,Linux返回到调用函数的下一行,并继续执行其他的指令。
下面是函数调用的一个典型例子:

#!/bin/bash
clear
function display
echo "Welcome to the world"
echo "of functions. "
}
display
返回列表