热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxShell菜单

文章标题:LinuxShell菜单。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  今天有一个朋友请教我一道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:


推荐阅读
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 从U ... [详细]
  • crontab 自动执行定时任务时,命令无法执行的解决方案
    为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • homemyUserscript.sh>>homemyUserlog.txt2>&1在script.sh ... [详细]
  • docker容器的数据管理一:数据卷实现数据的永久化,完全独立于容 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
author-avatar
手机用户新常态
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有