linux-实验指导手册-shell编程.doc_第1页
linux-实验指导手册-shell编程.doc_第2页
linux-实验指导手册-shell编程.doc_第3页
linux-实验指导手册-shell编程.doc_第4页
linux-实验指导手册-shell编程.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux实用操作系统实验指导手册实验二 shell编程(8学时)一、实验名称shell编程。二、实验目的掌握shell程序的建立和执行方式;掌握shell中各种变量和函数的使用;熟练掌握shell程序设计中各种控制结构语句是使用;了解shell编程中特殊字符的含义。三、实验环境Redhat Linux系统企业版本4.0及以上四、实验内容(一)shell程序的建立和执行(2学时)1依次执行下列命令,理解反馈信息的意义。$ date$ pwd$ cd .$ cd2建立shell程序脚本$ vi ex1datepwdcd .cd存盘退出。3检查文件是否存在。$ ls4执行shell程序ex1,显示反馈信息与单步命令操作相同。方式一:输入定向到shell脚本$ bash ex1方式二:以脚本名作为参数$ bash ex1$ bash ex1 /usr方式三:将shell脚本的权限设置为可执行,然后在提示符下直接执行它步骤1:$ chmod a+x ex1步骤2:$ mv ex1 /usr/bin步骤:$ ex1 $ ex1 /usr 5. 在文本编辑器中录入下面shell程序,保存为ex2,然后执行之。#!/bin/bash# If no arguments, then listing the current directory.# Otherwise, listing each subdirectory.if test $# = 0then ls .else for i do ls -l $i | grep d donefi(二)shell变量(2学时)1用户定义的变量。单步执行下述命令,练习变量赋值,理解反馈信息。$ dir=/home/mengqc/ex1$ echo $dir$ echo dir$ today=Sunday$ echo $today $Today$ str=”Happy New Year.”$ echo Wish You $str2read命令。(1)单步执行下述命令:$ read name -输入read命令zhangsan -输入name的值$ echo Your Name is $name.Your Name is zhangsan -显示输出的结果$ read a b c -read命令有三个参数cuit cn edu -输入三个字符串,中间以空格隔开$ echo Email : $a. $c. $b Email : -显示输出结果 (2)将上述四个单步命令编辑为shell程序,取名ex3。$ vi ex3 (输入四行命令,编后存盘)。(3)运行shell程序ex3。$ bash ex33特殊变量(1)建立一个内容如下的shell程序ex4:echo “Program name is $0”echo “There are totally $# parameters passed to this program”echo “The last is $?”echo “The parameters are $*”(2)按如下执行程序ex4,观察反馈信息:$ bash ex4 this is a test program(三)控制结构(3学时)1if语句(1)理解并建立shell程序ex5:echo “The current directory is pwd”if test -f $1 # 如果位置参数$1对应的文件then echo $1 is an ordinary file. # 是普通文件“- F”则显示本行else echo $1 is not anordinary file. # 否则显示本行fi执行ex5,并理解反馈信息:$ bash ex5 ex4(2)理解并建立shell程序ex6:if test -f $1 then cat $1else if test -d $1 then (cd $1 ; cat * ) else echo $1 is neither a file nor a directory. fifi执行ex6,并理解反馈信息。(3)验证书上例4.11、例4.12、例4.13。2. case 语句验证书上例4.142while语句(1)理解并建立shell程序ex7:while $1 do if -f $1 then echo display : $1 cat $1 else echo $1 is not a file name. fi shift #后续位置参数左移done执行ex7,并理解反馈信息。(2)编写求前五个偶数之和的shell程序ex8:loopcount=0result=0while $loopcount lt 5 do (loopcount=loopcount+1)(increment=loopcount * 2)let “result=result + increment”doneecho result is $result3for语句(1)理解并建立shell程序ex9:for day in Monday Wednesday Friday Sundaydo echo $daydone执行ex9,并理解反馈信息。(2)理解并建立shell程序ex10:mkdir backupfor filename in lsdo cp $filename backup/$filename if $? -ne 0 then echo “copy for $filename failed” fidone执行ex10,并理解反馈信息。验证书上例4.15、例4.16、4.17。4Select语句理解并建立shell程序ex11:select item in Continue Finshdo if $item = “Finsh” ; then break fidone 执行ex11,并理解反馈信息。理解并建立shell程序ex12:while truedoselect menuItem in create input delete exitdo case “$menuItem” in create) echo “create a file.” break; input) echo “input data to file.” break; delete) echo “delete the file.” break; exit) exit;esac donedone执行ex12,并理解反馈信息。(四)函数(1学时)1理解并建立shell程序ex12:displaymonth() case $1 in 1) echo “Month is January”; 2) echo “Month is February” ; 3) echo “Month is March” ; 4) echo “Month is April” ; 5) echo “Month is May” ; 6) echo “Month is June” ; 7) echo “Month is July” ; 8) echo “Month is August” ; 9) echo “Month is September” ; 10) echo “Month is O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论