[实验3:Shell程序设计.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[实验3:Shell程序设计

实验报告3 课程名称: Linux驱动程序开发 实验名称: Shell程序设计 学生姓名: 班级: 学号: 指导老师: 钱振江 成绩: 一、实验目的 1.Shell程序设计中变量的使用; 2.理解通道的概念并初步掌握它的使用方法; 3.掌握算术操作、字符串操作、逻辑操作、文件操作; 4.掌握if then fi、if then elif fi、case、while、for等控制语句; 5.在shell脚本中使用函数; 二、实验任务与要求 1.通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义; 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 #先

文档评论(0)

caiyl9924 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档