您好,欢迎访问三七文档
2.Shell程序设计1.实验目的掌握shell启动的方法,熟悉shell命令的功能和使用方法,shell变量的特点和应用。掌握利用shell的控制结构编写程序,熟练进行shell程序的调试。2.实验内容(1)菜单设计(2)文件备份和恢复(3)求任意n个整数的累加和。3.实验步骤(1)菜单设计要求根据选择可以实现查看目录内容,文件内容的显示,文件的删除等功能。#!/bin/shclearecho“pleasechoose1,2,3or0”echo“1:Viewthedirectory”echo“2:Displayafile”echo“3:Deleteafile”echo“0:Quittheprogram”readchoicecase$choicein1)ls-l;;2)echo“Nameoffiletodisplay?”readfilenamecat$filename;;3)echo“Nameoffiletodelete?”readfilenamerm$filename;;4)echo“Quitnow”#退出shellexit0;;esac(2)文件备份和恢复#!/bin/shclear#输入要备份的目录名echo“Pleaseinputthedirectoryname:”#读目录名readdirectory#--判断是否是目录:if[!-d$1]thenecho$1不是一个目录!exit2ficd$1ls-a|cpio-o/dev/mnt0//是0if[$?-eq0]thenrm*elseechocpio执行不成功!备份失败...exit3fi#进入目录cd$directory#备份和恢复菜单,1备份,2恢复,0退出echo“pleasechoose1,2or0”echo“1:Backupdirectory”echo“2:Restoredirectory”echo“0:Quittheprogram”readchoicecase$choicein1)tarzcvf/tmp/backup.tar.gz$directory;;2)#--恢复程序echo输入要备份文件所在目录:readWORKDIRif[!-d$WORKDIR]thenechoSorry,$WORKDIRisnotadirectoryexit1ficd$WORKDIRecho输入选择:echo_echo1.恢复到$WORKDIRecho2.备份$WORKDIRecho0.退出echoecho\creadCHOICEcase$CHOICEin1)echo恢复中......cpio-i/dev/mnt0;;2)echo备份中......ls|cpio-o/dev/mnt0;;0)exit1*)exit1esacif[$?-ne0]thenecho程序运行中出现错误!elseecho操作成功!fi0)exit0;;esac(3)求任意n个整数的累加和。num=0if[aa=aa]thencase${num}in1)num=`expr$num+1`echo$num;;2)num=`expr$num+1`echo$num;;3)num=`expr$num+1`;;4)num=`expr$num+1`;;*)expr$num+1esacfi怎样能让num的值保留例如本例./file结果是1怎样再执行./file结果是2然后是3,4,54.实验过程中遇到的问题及解决方案在写Shell函数时,操作部怎么熟练,最后借鉴了好多的书本和很多人的协助才达到了目的.5.课程设计总结通过这次学习我知道了shell也是一支程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。各种操作系统都有它自己的shell,以DOS为例,它的shell就是command.com文件。如同DOS下有NDOS,4DOS,DRDOS等不同的命令解译程序可以取代标准的command.com,UNIX下除了Bourneshell(/bin/sh)外还有Cshell(/bin/csh)、Kornshell(/bin/ksh)、Bourneagainshell(/bin/bash)、TenexCshell(tcsh)等其它的shell。UNIX/linux将shell独立于核心程序之外,使得它就如同一般的应用程序,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。指导教师评语评分指导教师年月日
本文标题:shell课程设计
链接地址:https://www.777doc.com/doc-2418650 .html