没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux Shell编程实验
Linux Shell编程实验

Shell编程实验 一、实验目的 了解 Shell 的作用和主要分类。 了解 Bash的一般语法规则。 练习编写简单的shell程序。 二、实验内容 1.Shell变量的定义及其使用。 2.位置参数和环境变量。 3.Shell中的特殊字符。 4.条件判断结构与循环结构 5.函数的定义和使用 三、预备知识 1、LINUX环境下常用命令和VI编辑器的操作。 2、了解Shell作用和主要分类等基础知识。 四、实验设备及工具 软件:PC机操作系统REDHAT ELAS4环境 五、实验原理及说明
资源详情
资源评论
资源推荐

Shell 编程实验
一、实验目的
了解 Shell 的作用和主要分类。
了解 Bash 的一般语法规则。
练习编写简单的 shell 程序。
二、实验内容
1.Shell 变量的定义及其使用。
2.位置参数和环境变量。
3.Shell 中的特殊字符。
4.条件判断结构与循环结构
5.函数的定义和使用
三、预备知识
1、LINUX 环境下常用命令和 VI 编辑器的操作。
2、了解 Shell 作用和主要分类等基础知识。
四、实验设备及工具
软件:PC 机操作系统 REDHAT ELAS4 环境
五、实验原理及说明
Shell 是 Linux 系统中一个重要的层次,它是用户与系统交互作用的界面。在介绍
Linux 命令时,Shell 都作为命令解释程序出现:它接收用户打入的命令,进行分析,创建
子进程实现命令所规定的功能,等子进程终止工作后,发出提示符。这是 Shell 最常见的使
用方式。
Shell 除了作为命令解释程序以外,还是一种高级程序设计语言,它有变量,关键字,
有各种控制语句,如 if, case, while, for 等语句,有自己的语法结构。利用 Shell 程序设计语
言可以编写出功能很强、但代码简单的程序,特别是它把相关的 Linux 命令有机地组合在
一起,可大大提高编程的效率,充分利用 Linux 系统的开放性能,设计出适合自己要求的
命令。

六、实验步骤
1.语法练习
Shell 变量
Shell 有两种变量:环境变量和临时变量。在 Shell 脚本中临时变量又分为两类:用户
定义的变量和位置参数。
用户定义的变量
用户定义的变量是最普遍的 Shell 变量,变量名是以字母或下化线打头的字母、数字和
下线符序列,并且大小写字母意义不同。变量名的长度不受限制。定义变量并赋值的一般
形式是: 变量名=字符串 例如,
MYFILE=/usr/meng/ff/m1.c
a. 定义并显示变量的值
在程序中使用变量的值时,要在变量名前面加上一个符号“ $”。这个符号告诉 Shell,
要读取该变量的值。
练习 1.1:
$ dir=/usr/mengqc/file1
$ echo $ dir
/usr/mengqc/file1
$ echo dir
dir
$ today=Sunday
$ echo $ today $ Today
Sunday
$ str="Hapy New Year ! "
$ echo "Wish You $str"
Wish You Happy New Year !
b.read 命令
作为交互式输入手段,可以利用 read 命令由标准输入(即键盘)上读取数据,然后赋
给指定的变量。其一般格式是:read 变量 1 [变量 2...]
练习 1.2:
$ read name -----输入 read 命令
mengqc -----输入 name 的值
$ echo "Your Name is $ name."
Your Name is mengqc -----显示输出的结果
$ read a b c -----read 命令有三个参数
crtvu cn edu -----输入三个字符串,中间以空格隔开
$ echo "Email : $a. $c. $b"
Email : crtvu.edu.cn -----显示输出结果
利用 read 命令可交互式的为变量两赋值。输入数据时,数据间以空格或制表符作为分
隔符。注意以下情况:
*若变量个数与给定数据个数相同,则依次对应赋值,如上面例子所示。
*若变量数少于数据个数,则从左至右依次给变量赋值,而最后一个变量取得所有余下

数据的值。
*若变量个数多余给定数据个数,则从左到右依次给变量赋值,后面的变量没有输入数
据与之对应时,其值就为空串。
位置参数
执行 Shell 脚本时可以使用参数。由出现命令行上的位置确定的参数称做位置参数。在
sh 中总共有十个位置参数,其对应的名称依次是$0,$1,$2,...$9。其中$0 始终表示命令名或
Shell 脚本名,对于一个命令行,必然有命令名,也就必定有$0;而其它位置参数依据实际
需求,可有可无。
练习 1.3 位置参数的作用。
a.在你的计算机上建立以下三个文件(设建立在目录/usr/username 之下,其中 username
表示你的主目录名):
文件 m1.c:
main( )
{
printf("Begin \n");
}
文件 m2.c:
# include < stdio.h >
{
printf("OK! \n");
}
文件 ex3:
# ex3: shell script to combine files and count lines
cat $1 $2 $3 $4 $5 $6 $7 $8 $9 | wc -l
# end
b.将 ex3 改为具有执行权限:
$ chmod +x ex3
c.利用 env 命令查看在环境变量 PATH 中是否包含你的当前工作目录(即/usr/use-
name)。如果没有包含在其中,则利用以下语句改变 PATH 的值:
$ PATH= $ PATH:/usr/usr/username
d.执行脚本 ex3:
$ ex3 m1.c m2.c
10
练习 1.4 利用位置参数给定变量赋值。
a.建立脚本 ex5,如下所示:
n1=$1
n2=$2
n3=$3
cat $n1 $n2 $n3 | wc -l
b.将 ex5 改为具有执行权限:
$ chmod +x ex5
c.执行脚本 ex5:
剩余10页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1