Shell编写字符菜单管理-8
第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的更多相关文章
- shell 字符菜单管理
1.创建一个脚本func.sh 脚本如下func2.sh #!/bin/bash function menu(){ title="My Menu" url="www.la ...
- (转)shell实现多级菜单脚本编写
shell实现多级菜单脚本编写 原文:https://www.yuanmas.com/info/2gOwBPvqyb.html 这篇文章主要介绍了Shell实现多级菜单系统安装脚本实例分享,本文脚本用 ...
- 我的第一个python web开发框架(36)——后台菜单管理功能
对于后台管理系统来说,要做好权限管理离不开菜单项和页面按钮控件功能的管理.由于程序没法智能的知道有什么菜单和控件,哪些人拥有哪些操作权限,所以首先要做的是菜单管理功能,将需要管理的菜单项和各个功能项添 ...
- Linux shell编写脚本部署pxe网络装机
Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机 https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...
- Xianfeng轻量级Java中间件平台:菜单管理
通过菜单管理,可以实现系统菜单的权限控制.用户个性化菜单功能等,当然很多系统支持在线开发,不用专门的开发工具编写代码,通过一些简单的设置就能开发出新的功能,有新功能增加到系统中,菜单管理功能也是必不可 ...
- [转] 利用shell创建文本菜单与窗口部件的方法
[From] http://www.jb51.net/article/129460.htm 前言 创建交互式shell脚本最常用的方法是使用菜单.提供各种选项可以帮助脚本用户了解脚本能做什么,不能做什 ...
- Shell实现多级菜单系统安装维护脚本实例分享
Shell实现多级菜单系统安装维护脚本实例分享 这篇文章主要介绍了Shell实现多级菜单系统安装维护脚本实例分享,本文脚本用多级菜单实现管理WEB服务器.Mysql服务器.Nginx服器等,需要的朋友 ...
- C#开发微信门户及应用(20)-微信企业号的菜单管理
前面几篇陆续介绍了很多微信企业号的相关操作,企业号和公众号一样都可以自定义菜单,因此他们也可以通过API进行菜单的创建.获取列表.删除的操作,因此本篇继续探讨这个主体,介绍企业号的菜单管理操作. 菜单 ...
- C#开发微信门户及应用(9)-微信门户菜单管理及提交到微信服务器
微信公众号(包括服务号和订阅号)都可以对菜单进行自定义设置,我们为了方便管理,一般先把菜单数据在本地管理维护,需要更新的时候,把它们更新到微信服务器上就可以了.本文基于这个方式,介绍我的微信门户平台管 ...
随机推荐
- jackson 字符串转对象
ObjectMapper mapper = new ObjectMapper(); Map<String, Object> map = mapper.readValue(str, Map. ...
- SQLServer “无法对数据库'XXX' 执行删除,因为它正用于复制”的解决方法
“无法对数据库'XXX'执行删除,因为它正用于复制” 解决办法: 执行 sp_removedbreplication 'XXX' 这个语句的解释是:从数据库中删除所有复制对象,但不更新分发服务器上 ...
- scapy基础之一 ----简单命令
前言 scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网络攻击和测试中.下面介绍简单命令. ls() List all availab ...
- iOS内置麦克风选择方法
模式中的 voicechat用于VoIP是由系统进行默认选择的最适合的麦克风 模式中的AVAudioSessionModeVideoRecording默认选择上麦克风,离摄像头最近的那个,主要用于VO ...
- centos 7.4安装python3.7.4
转自https://www.cnblogs.com/zhanglong8681/p/8421512.html 1.下载安装包 Linux下默认系统自带python2.7的版本,这个版本被系统很多程序所 ...
- Google弃用HttpClient 而推荐使用HttpURLConnection的原因
因为兼容性问题,谷歌不愿意维护HttpClient,而使用HttpURLConnection HttpURLConnection的API包小而简便,更适合安卓 HttpURLConnection能够提 ...
- C# 两个datatable中的数据快速比较返回交集或差集[z]
最基本的写法无非是写多层foreach循环,数据量多了,循环的次数是乘积增长的. 这里推荐使用Except()差集.Intersect()交集,具体性能没有进行对比. 如果两个datatable的字段 ...
- 解决InetAddress.isReachable(timeout)在windows xp始终返回false的bug
笔者最近在做产品,其中一个环节用到ping测试主机是否在线. 开发环境:Windows 7 64bit+JDK1.8 x64 以下是检测主机是否在线,开发环境中测试通过 public static b ...
- Centos7 出现Welcome to emergency mode!
做mount挂载时,修改了 /etc/fstab 文件,导致Centos7重启时出现如下图所示错误: Welcome to emergency mode! After logging in, typ ...
- django 富文本编辑器
创建工程,数据中数据格式设置为 models.TextField() 此时编辑器是普通的文本框. 使用 tinymce .安装 django-tinymce pip install django-ti ...