- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告3
课程名称: Linux驱动程序开发 实验名称: Shell程序设计
学生姓名: 班级: 学号:
指导老师: 钱振江 成绩:
一、实验目的
1.Shell程序设计中变量的使用;
2.理解通道的概念并初步掌握它的使用方法;
3.掌握算术操作、字符串操作、逻辑操作、文件操作;
4.掌握if then fi、if then elif fi、case、while、for等控制语句;
5.在shell脚本中使用函数;
二、实验任务与要求
1.2.Shell顺序程序设计;
3.Shell分支程序与多分支程序设计;
4.Shell循环程序设计。
三、实验工具与准备
计算机PC机,Linux Ubuntu操作系统
预备知识
1.环境变量:$HOME; $PATH; $PS1; $1~$9; $*; $@; $#; $$; $?; $!等。
$0是一个内部变量,它是必须的,而$1则可有可无,最常用的内部变量有$0、$#、$?、$*,它们的含义如下:
$0 :命令所在的路径
$# :传递给程序的总的参数数目
$? :shell程序在shell中退出的情况,正常退出返回0,反之为非0值
$* :传递给程序的所有参数组成的字符串
2.字符串比较有=、!=、-n、-z;算术运算有-eq、-ge、-le、-ne、-gt、-=lt;逻辑运算有!、-a、-o;文件测试-d、-f、-x等;
3.for 循环
语法:
for 变量 in 列表
do
操作
done
4.while循环
语法:
while 表达式
do
操作
done
5.until循环
语法:
until 表达式
do
操作
Done
6.if语句
语法:
if 表达式1 then
操作
elif 表达式2 then
操作
elif 表达式3 then
操作
…
else
操作
fi
7.case语句
语法:
case 字符串 in
值1|值2)
操作;;
值3|值4)
操作;;
值5|值6)
操作;;
*)
操作;;
esac
case的作用就是当字符串与某个值相同是就执行那个值后面的操作。如果同一个操作对于多个值,则使用|将各个值分开。在case的每一个操作的最后面都有两个;;,分号是必须的。
四、实验步骤与操作指导
1.调试下列shell程序,写出变量$#, $0, $1, $2, $3, $@的含义。
#! /bin/bash
echo “程序名:$0”
echo “所有参数: $@”
echo “前三个参数:$1 $2 $3”
shift
echo “程序名:$0”
echo “所有参数: $@”
echo “前三个参数:$1 $2 $3”
shift 3
echo “程序名:$0”
echo “所有参数: $@”
echo “前三个参数:$1 $2 $3”
exit 0
修改程序,使用变量$#,程序运行时从键盘输入文件名,判断目录或者文件是否存在,如果存在,显示文件内容。提示:
read DORF
if [ -d $DORF ]
then
ls $DORF
elif [ -f $DORF]
......
2.编写一个shell程序,此程序的功能:显示root用户目录下的文件信息,然后建立一个kk的文件夹,在此文件夹下新建一个文件aa,修改此文件的权限为可执行。
提示:
进入root目录:cd /root
显示root目录下的文件信息:ls –l
新建文件夹kk:mkdir kk
进入root/kk目录:cd kk
新建一个文件aa:vi aa #编辑完成后需手工保存
修改aa文件的权限为可执行:chmod +x aa
回到root目录:cd /root
在此基础上修改程序,所建立的目录名从键盘输入,把/root下的所有文件信息保存在aa文件中。
3.调试下列shell程序,此程序的功能是:利用内部变量和位置参数编写一个名为test2的简单删除程序,如删除的文件名为a,则在终端输入的命令为“test a”。
提示:除命令外至少还有一个位置参数,即$#不能为0,删除的文件为$1。
(1) 用vi编辑程序
[root@localhost bin]#vi test2
#!/bin/sh
if test $# -eq 0
then
echo Please specify a file!
else
gzip $1 #先对文件进行压缩
mv $1.gz $HOME/dustbin #移动到回收站
echo File $1
您可能关注的文档
- 有关手机基础知识(修改版).docx
- 企业过程优化决策支持系统概念框架课件.pdf
- 实验室环境条件(董)讲述.doc
- 波动方程达朗贝尔公式.pdf
- 计算机网络基础和Internet选择题.doc
- 软盘转换U盘盘使用方法摘要.pdf
- 第8章 视听技术辞典.doc
- 社会学概论作业题目整理摘要.doc
- 初一上学期期末考试复习题指南.doc
- 第3章 化学键及分子结构章节要点及习题.pdf
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)