作者:手机用户新常态 | 来源:互联网 | 2017-06-27 06:36
今天有一个朋友请教我一道Shell 题如下:
上机实验题:
1. 用shell编写一个脚本,实现以下功能。
a) 程序需要实现以下可供用户选择的操作界面:
注:USER后显示当前登陆用户名;
HOST后显示主机名
DATA后显示当前系统时间,时间格式请转换为:DDMMYYYY;
b) 系统使用者选择1号业务,用户输入提取次数和提取间隔,请将提取结果打印在系统终端上。
c) 系统使用者选择2号业务,用户输入提取次数和提取间隔,请将提取结果输出到以当前的系统时间为标准的日志文件中,格式为10:24:53.log。
d) 系统使用者,选择3号业务,则退出当前操作界面。
看了下。我还真没有写过。以前有的while写的简单的菜单。刚才花时间做了这道题:
贴出脚本:
1.#! /bin/bash
2.#LiuYu liuyu.blog.51cto.com
3.while true
4.do
5.clear
6.echo
7.echo "-------------------------------------------------------------------------"
8.tput cup 2 10
9.time=`date +"%d%m%Y"`
10.echo -ne "USER:$USER\tHOST:$HOSTNAME\tdate:$time"
11.echo
12.tput cup 3
13.echo "-------------------------------------------------------------------------"
14.tput cup 4 10
15.echo -e "1:提取系统内存,并且在系统终端显示内容;"
16.tput cup 5 10
17.echo -e "2:提取系统内存,写入文件;"
18.tput cup 6 10
19.echo -e "3:退出;"
20.tput cup 7
21.echo "--------------------------------------------------------------------------"
22.echo
23.tput cup 8
24.echo "LiuYu "
25.tput cup 9 8
26.echo -n "You choice [1,2,3]:"
27.read AA
28.case $AA in
29.1)tput cup 10
30.echo -n "请输入提取次数:"
31.read BB1
32.echo -n "请输入提取间隔:"
33.read BB2
34.echo -n "开始提取:"
35.echo -e $time
36.free -s $BB1 -c $BB2
37.echo -n "提取结束"
38.;;
39.2)tput cup 11
40.time2=`date +"%X"`
41.echo -n "请输入提取次数:"
42.read cc1
43.echo -n "请输入提取间隔:"
44.read cc2
45.echo -n "开始提取:"
46.echo -n $time
47.free -s $cc1 -c $cc2 >> $time2.log
48.echo -n "提取结束"
49.;;
50.3)exit
51.;;
52.*)echo "liuyu.blog.51cto.com!"
53.;;
54.esac
55.read opendoc
56.done
代码效果:
输入2: