linux操作系统shell编程.pdfVIP

  • 2
  • 0
  • 约6.15千字
  • 约 11页
  • 2026-02-08 发布于河南
  • 举报

实验五Linux的shell编程

一、实验目的

1.了解常用shell的编程特点,掌握shell程序设计的根底知识。

2.认识和理解shell程序流程控制、shell程序的运行方式、shell程序的调试方法。

3.根本掌握编写shell程序的步骤、方法和技巧。

二、实验环境

Linux软件和计算机

三、实验内容或步骤

实验准备知识为书上5.3,5.4,5.5以及第23章内容,p73~84,p374-394。

1、shell脚本的建立同建立普通文本文件的方式相同,可利用编辑器vi或cat命令,进行程

序录入和编辑加工。

由三条简单命令组成的Shell程序,文件名为prog。

ls–l

cal

who

2、shell脚本的执行(通常用三种方式)

1〕、输入定向的执行方式

sh脚本名如:shprog

2〕、以脚本名作为Shell参数的执行方式

sh脚本名[参数]如:shprog

3〕、改执行权限后直接执行方式

如:#chmoda+xprog

#./prog

3、Shell变量:

1〕、可写的环境变量

$echo$PS1

$PS1=“[$PS1=“[〞

2)、位置参数:在命令行传递给shell脚本的参数。

〔1〕位置参数及引用

可以编写一个shell脚本,当从命令行或者从其他shell脚本中调用它的时候,这个脚本接收

假设干参数。这些选项是通过Linux作为位置参数〔positionalparameter〕提供应shell程序

的。

在shell脚本中应有变量,接收实参,这类变量的名称很特别,分别是1,2,3,…,这类变

量称为位置变量。位置参数1存放在位置变量1中,位置参数2存放位置变量2中,……,

在程序中可以使用$1,$2,……来访问。

1

下述是一个shell程序的mypgm1,只带了一个参数〔名字〕,并在屏幕上显示这个名字:

#Namedisplayprogram1

if[$#-eq0]

then

echo“Namenotprovided〞

else

echo〞Yournameis$1〞

fi

在pdksh和bash中,如果执行mypgm1如下:

#.mypgm1

将得到输出:

Namenotprovided

但是,如果执行mypgm1如下:

#.mypgm1sanjia

那么得到如下的输出:

Yournameissanjia

〔2〕用set命令为位置参数赋值

在shell程序中可以利用set命令为位置参数赋值或重新赋值。

〔1〕一般格式:set[参数表]

〔2〕说明:该命令后面无参数时,将显示系统中的系统变量的值;如果有参数将分别给位

置参数赋值。

3)、用户自定义变量:

a、字符串赋值,格式如下:

变量名=字符串

如:$mydir=/home/a

$echo$mydir

$echomydir

b、如果在赋给变量的值中要含有空格、制表符或换行符,那么就应该用双引号把这个字

符串括起来。

$myname=“zhangsan〞

c、变量值可以作为某个长字符串中的一局部。如果它在长字符串的末尾,就可以利用直

接引用形式。

$s1=ing

$echowalk$s1orread$s1orleep$s1

2

如果它在长字符串的开头或中间,应该用{}把变量名括起来。

$dir=/home/user1

$echo${dir{}m1.c

文档评论(0)

1亿VIP精品文档

相关文档