liunx中图形化桌面环境中的脚本编程之——创建文本菜单
整体是通过建立菜单布局,然后根据菜单上的布局建立函数(就是为这些布局实现功能),最后将函数和布局实现逻辑上的相连;
如何建立菜单布局?
整体上是通过打印字符创建出,因此需要使用echo命令,但是有一些非打印字符,这些非打印字符很有用,如 空格键,换行符,对应的是\t,\n ,,想要打印出这些非打印字符,就必须使用echo -e 选项,最后一个是获取用户的输入,echo -en 选项可将光标移至你选项后的内容,这样使得菜单更专业些,再用read -n 1 option (意思是读取一个字符并将其保存在option中)
echo -e "\t\t\t SYS Admin MENU\n"
echo -e "\t1. display disk space"
echo -e "\t2. display logged on users"
echo -e "\t3. display memory usages"
echo -e "\t0. Exit menu\n\n"
echo -en "\t\tEnter option:"
运行后的结果是
]# ./graphical
SYS Admin MENU . display disk space
. display logged on users
. display memory usages
. Exit menu Enter option:[root@localhost ~]#
这个是没有加read,没有读取命令,还是不行的,因此想要获取用户的输入,有两步,第一步是提供输入,第二步读取输入;
现在我们来看看加了read的命令后所出现的情况
#! /bin/bash
echo -e "\t\t\t SYS Admin MENU\n"
echo -e "\t1. display disk space"
echo -e "\t2. display logged on users"
echo -e "\t3. display memory usages"
echo -e "\t0. Exit menu\n\n"
echo -en "\t\t\tEnter option:"
read -n option
~
运行下看看
[root@localhost ~]# ./graphical
SYS Admin MENU . display disk space
. display logged on users
. display memory usages
. Exit menu Enter option:
很明显这样就是让你在光标后输入一个字符并读取;
关于echo命令的小提示 echo"the $file not file" ,,就会出现 ./text11: line : echothe z2 not file: command not found
而如果你如果你在echo后空一格 echo "the $file not file" ,,就会出现 the z2 not file ,,,所以echo打印时必须要空格,至少空一格,至多无限;
如何创建函数?
通常我们为没有实现的函数创建一个空函数,里面至多只有一个echo语句,
function stub
{
echo "this is a stub function"
}
这个桩函数,又叫空函数,是为了,你不必为每个菜单键写一个函数后,才让菜单投入使用;
另外,有助于shell脚本的,你可以将菜单本身当做一个函数来创建,,所以每次你想再次打开菜单的时候,不用每次都运行这个文件,你可以直接调用菜单函数,重现菜单。
function menu{
clear
echo -e "\t\t\t SYS Admin MENU\n"
echo -e "\t1. display disk space"
echo -e "\t2. display logged on users"
echo -e "\t3. display memory usages"
echo -e "\t0. Exit menu\n\n"
echo -en "\t\t\tEnter option:"
read -n option
}
最后就是将你创建的菜单布局和函数进行相连,,这个相连是通过程序逻辑而实现的;可通过case命令,case可将你的选择和匹配的条件进行比较从而输出命令;
他的语法是
case option in
test1 | test2) command;;
test3) command;;
test4) command;;
*) command;;
esac
首先我可以通过调用menu函数打开菜单布局,然后在用case函数进行程序逻辑相连
liunx中图形化桌面环境中的脚本编程之——创建文本菜单的更多相关文章
- 《Linux命令行与shell脚本编程大全》第十八章 图形化桌面环境中的脚本编程
18.1 创建文本菜单 直接上例子吧: 1 #!/bin/bash 2 function menu 3 { 4 clear 5 echo 6 ...
- 为Linux主机安装图形化桌面环境
本文主要介绍在Linux实例中,centos 7 以及ubutun 14如何安装图形化桌面环境. CentOS 7 此处以安装MATE桌面环境为例,步骤如下. 说明:在安装重启后,如果卡在启动页面,需 ...
- 阿里云ecs开启x11图形化桌面
阿里云帮助文档:https://www.alibabacloud.com/help/zh/faq-detail/41227.htm 安装云服务器 ECS CentOS 7 图形化桌面 以安装 MATE ...
- centos图形化桌面安装过程
连接 1.安装xwindow yum -y groupinstall "X Window System" \\安装 X Window System 环境 2.安装gnome des ...
- CentOS 中 YUM 安装桌面环境(转)
使用 yum groupinstall 指令很容易就能安装上图形界面的桌面系统. 1. yum 的 group 指令 yum 可以以程序组的模式来安装成套的软件包.支持的软件包可以通过, # yum ...
- CentOS7系列--10.1CentOS7中的GNOME桌面环境
CentOS7中的桌面环境 1. 安装GNOME桌面环境 1.1. 列出所有安装套件 [root@appclient ~]# yum groups list Loaded plugins: faste ...
- CentOS 中 YUM 安装桌面环境
CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境.在服务器上通常不需要安装桌面环境,最小化地安装 CentOS(也就是 minimal CentO ...
- ssh tunneling应用案例-AWS EC2 vnc图形化桌面的支持
一般地,无论是AWS EC2还是阿里云的云主机,linux系统默认都只提供ssh登录方式.如果你是一个技术控,非常希望把图形化界面给折腾出来,这其中就不需有vnc server的支持,除此之外,还涉及 ...
- Linux之 xstart调用 x11vnc远程图形化桌面
问题:用 xmanager 中的 xstart 启动界面,报x11无法打开 . 1. root调整x11参数,将其打开[root@localhost ~]# vi /etc/ssh/sshd_conf ...
随机推荐
- SAP开发快捷键
F1 帮助 F2 回车确认(在某些地方可用,比如ABAP) F3 返回 F4 选择输入项 F5 新增 F6 复制为... F7 全选 F8 选择 ...
- Nodejs MSSQL详细解读
MSSQL 是Nodejs用于连接Microsoft SQL Server 的插件. 安装方法 npm install mssql 配置Config const config = { user: '. ...
- 在vue2.0中使用sass
第一步:使用sass必须安装下面三个东西 cnpm install node-sass --save //安装node-sass cnpm install sass-loader --save //安 ...
- Vim 神器的打造方式
Vim 神器的打造方式 [字体:大 中 小] Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插 ...
- git常用命令集合
git命令 git init:创建一个仓库并在目录下新建一个.git的文件(初始化一个git仓库) 注:.git文件在工作区,是一个隐藏文件(用ls -ah命令查看),但是它不算工作区,而是git 的 ...
- 2016-2017 ACM-ICPC, Asia Tsukuba Regional Contest D Hidden Anagrams
题目链接:http://codeforces.com/gym/101158/attachments /* * @Author: lyucheng * @Date: 2017-10-21 12:20:0 ...
- DOM 对象
DOM == document object model document 对象是唯一同时属于 BOM 和 DOM 的 rows 是一种DOM集合,不是数组,所以没有sort() 函数 ...
- 【G彩娱乐网】作为一名程序员,我应该如何选购一台电脑?
G彩娱乐网说到程序员专用电脑,那肯定是苹果电脑.优点有很多,比如白平衡特别准.酷炫的黑科技.特别方便的软件等显而易见的优势:也有能够增加提案通过率.专注工作提高工作效率这样的玄学buff. 但是!并不 ...
- Scrum Meeting Alpha - 7
Scrum Meeting Alpha - 7 NewTeam 2017/11/1 地点:新主楼F座二楼 任务反馈 团队成员 完成任务 计划任务 安万贺 登录部分的API仍存在问题 完成登陆部分的AP ...
- 通过jettymain启动项目
jetty是一个比tomcat轻量级好多的服务器,通过简单的配置即可成功的跑起来,编译过程要短一点,可以一定程度上提高开发效率 首先,要下载下来jetty的包,mvn信息如下: <depende ...