今天有一个朋友请教我一到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:$USER\tHOST:$HOSTNAME\tdate:$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:
一起学习下~~ 还有不完善的地方~~ 呵呵!
本文出自 “seven” 博客,请务必保留此出处http://liuyu.blog.51cto.com/183345/307539