第8章 Shell编写字符菜单管理

一.shell函数定义
function menu(){
echo 'this is a func!!';
}

二.shell函数使用
menu

三.cat命令的heredoc使用方法
cat << eof
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
eof

四.字符界面下字体的颜色控制
echo -e "\033[30;47m test \033[0m"

五.shell如何包含文件
vi func.sh
. menu.sh
menu #执行menu.sh中的menu函数

六.while如何写一个死循环
while true
do
#执行代码
done

字符菜单制作:
1. 用户添加
2. 用户删除
3. 修改密码
4. 查看硬盘空间使用情况
5. 查看内存空间使用情况
6. 退出菜单

#!/bin/bash
#index.sh

. menu.sh

clear
menu

while true
do
read -p "please input a option:" option

case $option in
1)
read -p "add a user:" name
useradd $name &>/dev/null

if [ $? -eq 0 ];then
str="user ${name} is created successfully!!!"
echo -e "\033[30;47m$str\033[0m"
else
str="user ${name} is created failly!!!"
echo -e "\033[31;47m$str\033[0m"
fi
;;
2)
read -p "input the user:" name
read -p "set pass for the user:" pass
echo $pass | passwd --stdin $name &>/dev/null

if [ $? -eq 0 ];then
str="${name}'s password is set successfully!!!"
echo -e "\033[30;47m$str\033[0m"
else
str="${name}'s password is set failly!!!"
echo -e "\033[31;47m$str\033[0m"
fi
;;
3)
read -p "delete a user:" name
userdel -r $name &>/dev/null

if [ $? -eq 0 ];then
str="user ${name} is deleted successfully!!!"
echo -e "\033[30;47m$str\033[0m"
else
str="user ${name} is deleted failly!!!"
echo -e "\033[31;47m$str\033[0m"
fi
;;
4)
str=`free -m`
echo -e "\033[30;47m$str\033[0m"
;;
5)
str=`df -Th`
echo -e "\033[30;47m$str\033[0m"
;;
6)
echo -e "\033[30;47mQuit successfully!!\033[0m"
break
;;
7)
clear
menu
;;
esac
done

#!/bin/bash
#menu.sh

function menu(){
title="My Menu"
url="www.lampym.com"
time=`date +%Y-%m-%d`

cat << eof
#######################################
`echo -e "\033[32;40m$title\033[0m"`
#######################################
* 1)add a user
* 2)set password for user
* 3)delete a user
* 4)print disk space
* 5)print mem space
* 6)quit
* 7)return main menu
#######################################
$url $time
#######################################
eof
}

Shell编写字符菜单管理-8的更多相关文章

  1. shell 字符菜单管理

    1.创建一个脚本func.sh 脚本如下func2.sh #!/bin/bash function menu(){ title="My Menu" url="www.la ...

  2. (转)shell实现多级菜单脚本编写

    shell实现多级菜单脚本编写 原文:https://www.yuanmas.com/info/2gOwBPvqyb.html 这篇文章主要介绍了Shell实现多级菜单系统安装脚本实例分享,本文脚本用 ...

  3. 我的第一个python web开发框架(36)——后台菜单管理功能

    对于后台管理系统来说,要做好权限管理离不开菜单项和页面按钮控件功能的管理.由于程序没法智能的知道有什么菜单和控件,哪些人拥有哪些操作权限,所以首先要做的是菜单管理功能,将需要管理的菜单项和各个功能项添 ...

  4. Linux shell编写脚本部署pxe网络装机

    Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机  https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...

  5. Xianfeng轻量级Java中间件平台:菜单管理

    通过菜单管理,可以实现系统菜单的权限控制.用户个性化菜单功能等,当然很多系统支持在线开发,不用专门的开发工具编写代码,通过一些简单的设置就能开发出新的功能,有新功能增加到系统中,菜单管理功能也是必不可 ...

  6. [转] 利用shell创建文本菜单与窗口部件的方法

    [From] http://www.jb51.net/article/129460.htm 前言 创建交互式shell脚本最常用的方法是使用菜单.提供各种选项可以帮助脚本用户了解脚本能做什么,不能做什 ...

  7. Shell实现多级菜单系统安装维护脚本实例分享

    Shell实现多级菜单系统安装维护脚本实例分享 这篇文章主要介绍了Shell实现多级菜单系统安装维护脚本实例分享,本文脚本用多级菜单实现管理WEB服务器.Mysql服务器.Nginx服器等,需要的朋友 ...

  8. C#开发微信门户及应用(20)-微信企业号的菜单管理

    前面几篇陆续介绍了很多微信企业号的相关操作,企业号和公众号一样都可以自定义菜单,因此他们也可以通过API进行菜单的创建.获取列表.删除的操作,因此本篇继续探讨这个主体,介绍企业号的菜单管理操作. 菜单 ...

  9. C#开发微信门户及应用(9)-微信门户菜单管理及提交到微信服务器

    微信公众号(包括服务号和订阅号)都可以对菜单进行自定义设置,我们为了方便管理,一般先把菜单数据在本地管理维护,需要更新的时候,把它们更新到微信服务器上就可以了.本文基于这个方式,介绍我的微信门户平台管 ...

随机推荐

  1. 解决python logging重复写日志问题

    import logging from homework.exam_homework_0413.common import contants from homework.exam_homework_0 ...

  2. pyautogui 文档(三):键盘控制

    typewrite()函数 主要的键盘功能是typewrite().此函数将键入字符串中传递的字符.要在按下每个字符键之间添加延迟间隔,请为interval关键字参数传递int float . > ...

  3. 从零开始学spring cloud(九) -------- 超时机制,断路器模式介绍

    目前存在的问题: 现在我们假设一下,服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到服务返回.在高负载场景下,如果不做任何处理,这种问题很可能造成所有处理用户请求的线程都被耗竭,而 ...

  4. 【noip模拟赛5】细菌 状压dp

    [noip模拟赛5]细菌   描述 近期,农场出现了D(1<=D<=15)种细菌.John要从他的 N(1<=N<=1,000)头奶牛中尽可能多地选些产奶.但是如果选中的奶牛携 ...

  5. charles修改接口返回值

    我们在测试app时,如果想看大数据量的展示情况,可以通过charles修改接口返回值来实现. 步骤1:手机连接代理 步骤2:app端请求接口,查看charles抓包情况 步骤3:选择想要修改返回值的接 ...

  6. linux bash shell:最方便的字符串大小写转换(lowercase/uppercase conversion) (转)

    原文地址:https://blog.csdn.net/10km/article/details/83384145 关于字符串大小写转换,是写 linux 脚本经常干的事儿,所以总想找个方便的方法让我少 ...

  7. 20164319 刘蕴哲 Exp2 后门原理与实践

    [后门概念] 后门就是不经过正常认证流程而访问系统的通道. 特指潜伏于操作系统中专门做后门的一个程序,而“坏人”可以连接这个程序远程执行各种指令. (概念和木马有重叠) [学习内容] 使用nc实现wi ...

  8. 好用的.NET控制台测试项目

    在工作和学习上,我们经常需要创建项目,引用些其他的库,测试下自己的想法是否正确,需要捕捉一下异常.调用一下异步方法.记录一下log等等,这样的项目都是需要花费时间,为了较少花费的时间,产生了一个这样的 ...

  9. angular 键盘事件绑定与过滤

    方便的angular按钮绑定 如 <input (keyup.enter)="keyUpSearch($event)" value="按下回车键触发"&g ...

  10. 有关在Eclipse中安装STS(Spring Tool Suite)的若干问题总结

    1.之前说明 在网上找了很多安装的方法,每次在线安装总会出现各种各样的问题,本地安装也是出现同样的问题(后来发现是下载的包有问题) 还有其他问题(忘记截图了,上图来自网络),大概就是这些各种各样的错误 ...