实训5_Linux shell编程汇总 下载本文

内容发布更新时间 : 2024/6/16 19:05:14星期一 下面是文章的全部内容请认真阅读。

实训五 Linux shell编程

【实习目的】

掌握Linux shell的基本编程,包括:编程、调试与应用 【实习指导】

一、shell编程简介

Linux shell是一个命令解释器,用来接受并执行命令(包括运行批处理文件和执行程序)。shell环绕在内核的外层,它是Linux操作系统和用户之间的界面。当用户从shell或其他程序向Linux传递命令,内核会做出相应的反应。

这里,将介绍Linux下最常用的shell —— bash。bash(Bourne Again Shell)是大多数Linux发行套件的缺省shell,并被大多数用户所使用。

在命令行输入命令时,每次输入一个命令,就可得到系统的响应。但如果经常要依次执行同一组命令,就可以利用shell程序来实现。shell程序是放在一个文件中的一系列的Linux命令。执行shell程序时,由Linux逐条解释和执行每个命令。

二、shell程序文件

shell程序文件是一个特殊的文本文件,其内容包含一系列可在shell提示符下执行的命令,以及shell提供的专用的命令和控制语句。Linux提供的shell命令可通过命令help来获得,在shell提示符下,键入命令“help | more”,图5-1所示是获得所有shell命令的列表的一部分。

图5-1

如要获得其中命令echo的详细帮助信息,则在shell提示符下,键入命令“help echo”,便获得该命令的详细使用信息如图5-2所示。

- 1 -

图5-2

图中可观察到,该命令的功能是在屏幕上输出给定的信息。

shell程序文件的运行过程是将shell程序文件中的命令依次执行。

三、shell程序的建立

shell程序文件可用任何一个文件编辑器(如vi)来建立。

例如,建立shell程序shex1,存放在当前目录下(假定当前目录为 /root),程序功能为先清屏,然后显示98年的1、2、3月份的月历。程序文件内容如下:

clear

cal 1 98 cal 2 98 cal 3 98

用vi编辑器建立shell程序文件shex1的方法如下: (1)键入命令“vi shex1”,启动vi; (2)按命令“i”,进入vi的插入状态; (3)输入程序文件内容; (4)按键,再键入“:”,切换到vi的命令状态; (5)最后键入命令“wq”,保存文件内容后,退出vi。 至此,shell程序文件shex1已建立。

四、shell程序的运行

运行shell程序有两种方法:一种是在shell环境下,将shell 程序文件作为子shell程序被调用执行;另一种是将shell程序文件视作命令来执行(因此,shell程序文件可以看作是将各种命令组合在一起而形成的新命令),此时必须赋予shell程序文件执行权限。

方法一:sh [<参数1> <参数2> ……]

- 2 -

方法二: [<参数1> <参数2> ……]

【例如】分别用两种方法运行已建立的shell程序文件shex1。 方法一:

在shell提示符下,键入命令:“sh shex1”。

方法二:

(1) 首先,给shell程序文件shex1赋予可执行权限,则在shell提示符下,键入命令:“chmod a+x shex1”;

(2)然后,在shell 提示符下,键入命令“/root/shex1”便可执行该shex1程序,如同其他shell命令一样。

两种方法的运行结果,如图5-3所示。

图5-3

运行命令中有[参数]和没有[参数]的情况分别称为带参数的运行命令和不带参数的运行命令。在shell程序中可使用的形参为$0、$1、$2、……$9,当程序运行时,<参数1> <参数2> ……依次赋值给$1、$2、……,通常称运行命令中所带的参数为实参。

$0是一个特殊的形参,其值规定为当前运行的shell程序命令本身。

由于形参个数有限,当参数较多时,可通过命令shift来移动形参与实参的对应关系,执行一次shift后,$1、$2、……变为依次与<参数2> <参数3>……对应,再执行一次shift后,$1、$2、……变为依次与<参数3> <参数4>……对应,依此类推。通过下面的例子shell程序shex2,可观察参数的移动变化。

shex2程序文件内容如下: echo $0 $1 $2 shift

- 3 -