今天有一个朋友请教我一到Shell 题如下:
上机实验题:
1. 用shell编写一个脚本,实现以下功能.
a) 程序需要实现以下可供用户选择的操作界面:
注:USER后显示当前登陆用户名;
HOST后显示主机名
DATA后显示当前系统时间,时间格式请转换为:DDMMYYYY;
b) 系统使用者选择1号业务,用户输入提取次数和提取间隔,请将提取结果打印在系统终端上.
c) 系统使用者选择2号业务,用户输入提取次数和提取间隔,请将提取结果输出到以当前的系统时间为标准的日志文件中,格式为10:24:53.log.
d) 系统使用者,选择3号业务,则退出当前操作界面.
看了下.我还真没有写过.以前有的while写的简单的菜单.刚才花时间做了这道题:
贴出脚本:
- #! /bin/bash
- #LiuYu liuyu.blog.51cto.com
- while true
- do
- clear
- echo
- echo "-------------------------------------------------------------------------"
- tput cup 2 10
- time=`date "%d%m%Y"`
- echo -ne "USER:$USERtHOST:$HOSTNAMEtdate:$time"
- echo
- tput cup 3
- echo "-------------------------------------------------------------------------"
- tput cup 4 10
- echo -e "1:提取系统内存,并且在系统终端显示内容;"
- tput cup 5 10
- echo -e "2:提取系统内存,写入文件;"
- tput cup 6 10
- echo -e "3:退出;"
- tput cup 7
- echo "--------------------------------------------------------------------------"
- echo
- tput cup 8
- echo "LiuYu "
- tput cup 9 8
- echo -n "You choice [1,2,3]:"
- read AA
- case $AA in
- 1)tput cup 10
- echo -n "请输入提取次数:"
- read BB1
- echo -n "请输入提取间隔:"
- read BB2
- echo -n "开始提取:"
- echo -e $time
- free -s $BB1 -c $BB2
- echo -n "提取结束"
- ;;
- 2)tput cup 11
- time2=`date "%X"`
- echo -n "请输入提取次数:"
- read cc1
- echo -n "请输入提取间隔:"
- read cc2
- echo -n "开始提取:"
- echo -n $time
- free -s $cc1 -c $cc2 >> $time2.log
- echo -n "提取结束"
- ;;
- 3)exit
- ;;
- *)echo "liuyu.blog.51cto.com!"
- ;;
- esac
- read opendoc
- done
代码效果:
输入2:
一起学习下~~ 还有不完善的地方~~ 呵呵! |