shell课程设计

  • 格式:doc
  • 大小:42.00 KB
  • 文档页数:11
echo "输入要备份文件所在目录:
read WORKDIR
if [ !-d $WORKDIR ]
then
echo "Sorry,$WORKDIR is not a directory"
exit 1
fi
cd $WORKDIR
echo "输入选择:"
echo _
echo "1.恢复到$WORKDIR"
echo "$num"
;;
2)
num=`expr $num + 1`
echo "$num"
;;
3)
num=`expr $num + 1`
;;
4)
num=`expr $num + 1`
;;
*)
expr $num + 1
esac
fi
怎样能让num的值保留
例如本例./file结果是1
怎样再执行./file结果是2
然后是3,4,5
4.实验过程中遇到的问题及解决方案
在写Shell函数时,操作部怎么熟练,最后借鉴了好多的书本和很多人的协助才达到了目的.
5.课程设计总结
通过这次学习我知道了shell也是一支程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。各种操作系统都有它自己的shell,以DOS为例,它的shell就是文件。如同DOS下有NDOS,4DOS,DRDOS等不同的命令解译程序可以取代标准的,UNIX下除了Bourne shell(/bin/sh)外还有C shell(/bin/csh)、Korn shell(/bin/ksh)、Bourne again shell(/bin/bash)、Tenex C shell(tcsh)等其它的shell。UNIX/linux将shell独立于核心程序之外,使得它就如同一般的应用程序,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。
echo "2.备份$WORKDIR"
echo "0.退出"
echo
echo "\c"
read CHOICE
case "$CHOICE" in
1)echo "恢复中... ..."
cpio -i < /dev/mnt0;;
2)echo "备份中... ..."
ls | cpio -o > /dev/mnt0;;
case $choice in
1) ls -l;;
2)
echo “Name of file to display?”
read filename
cat $filename;;
3)
echo “Name of file to delete?”
read filename
rm $filename;;
4)
echo “Quit now”
exit 2
fi
cd $1
ls -a | cpio -o >/dev/mnt0//是0
if [ $? -eq 0 ]
then
rm *
else
echo "cpio执行不成功!备份失败..."
exit 3
fi
#进入目录
cd $directory
#备份和恢复菜单,1备份,2恢复,0退出
echo“please choose 1,2or 0”
echo “1: Backup directory”
echo “2: Restore directory”
echo “0: Quit the program”
read choice
case $choice in
1)
tar zcvf /tmp/backup.tar.gz $directory;;
2)
#--恢复程序
0)exit 1
*)exit 1
esac
if [ $? -ne 0 ]
then
echo "程序运行中出现错误!"
else
echo "操作成功!"
fi
0)
exit 0;;
esac
(3)求任意n个整数的累加和。
num=0
if [ "aa" = "aa" ]
then
case ${num} in
1)
num=`expr $num + 1`
2.Shell程序设计
1.实验目的
掌握shell启动的方法,熟悉shell命令的功能和使用方法,shell变量的特点和应用。掌握利用shell的控制结构编写程序,熟练进行shell程序的调试。
2.实验内容Biblioteka (1)菜单设计(2)文件备份和恢复
(3)求任意n个整数的累加和。
3.实验步骤
(1)菜单设计
要求根据选择可以实现查看目录内容,文件内容的显示,文件的删除等功能。
#!/bin/sh
clear
echo “please choose 1,2,3or 0”
echo “1: View the directory”
echo “2: Display a file”
echo “3: Delete a file”
echo “0: Quit the program”
read choice
指导教师评语
评分指导教师
年月日
#退出shell
exit 0;;
esac
(2)文件备份和恢复
#!/bin/sh
clear
#输入要备份的目录名
echo “Please input the directory name:”
#读目录名
read directory
#--判断是否是目录:
if [ !-d "$1" ]
then
echo "$1不是一个目录!"