linux输入命令对话框,linux里命令的对话框whiptail
Linux里面能够在命令行里造成对话框,用光标上下,左右选择,一屏一屏的问答选择,填写。shell
whiptail是Linux不须要另行安装,默认就有的,其它的好比dialog须要另行安装,很麻烦,虽然功能比较好些。bash
帖一个写好的东西。ide
#!/bin/bash
trap "" 2
while true
do
OPTION=$(whiptail --title "Email Manager" --nocancel --menu "Choose your option" 15 60 4 \
"1" "Add Email User" \
"2" "Delete Email User" \
"3" "List Email User" \
"4" "EXIT" 3>&1 1>&2 2>&3)
case $OPTION in
1)
EmailAddress=$(whiptail --title "EmailAddress-form Input Box" --inputbox "What is your add EmailAddress?" 10 60 @shenxu.com 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
grep $EmailAddress /etc/postfix/virtual_mailbox_maps>/dev/nul
exitstatus=$?
if [ $exitstatus = 0 ]; then
whiptail --msgbox "The Email Address is a existed" 10 40
elif (whiptail --title "Add Yes/No Box" --yesno "Are you sure add $EmailAddress." 10 60) then
/etc/postfix/mailadd.sh $EmailAddress
whiptail --msgbox "The Email Address $EmailAddress is a added." 10 40
fi
else
whiptail --msgbox "You chose Cancel." 10 40
fi
;;
2)
EmailAddress=$(whiptail --title "EmailAddress-form Input Box" --inputbox "What is your Delete EmailAddress?" 10 60 @shenxu.com 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
grep $EmailAddress /etc/postfix/virtual_mailbox_maps>/dev/nul
exitstatus=$?
if [ $exitstatus != 0 ]; then
whiptail --msgbox "The Email Address $EmailAddress is a not exist." 10 40
elif (whiptail --title "Add Yes/No Box" --yesno "Are you sure delete $EmailAddress." 10 60) then
/etc/postfix/maildel.sh $EmailAddress
whiptail --msgbox "The Email Address $EmailAddress is a deleted." 10 40
fi
else
whiptail --msgbox "You chose Cancel." 10 40
fi
;;
3)
EmailAddress=$(cat /etc/postfix/virtual_mailbox_maps | awk '{print $1}')
whiptail --msgbox "The Email User list are $EmailAddress." --scrolltext 20 40
;;
4)
echo "EXIT"
break
;;
esac
done
trap : 2post
whiptail --title "Email Manager" --nocancel --menu "Choose your option" 15 60 4 \
"1" "Add Email User" \
"2" "Delete Email User" \
"3" "List Email User" \
"4" "EXIT" 3>&1 1>&2 2>&3命令行
--title "Email Manager" 是标题,双引号里是本身填的提示信息orm
--nocancel 是在这个图文里面不显示取消,只显示OKip
--menu "Choose your option" 15 60 4 是表示菜单提示,双引号里是本身填的提示信息,15是高度,60是长度,4是有个选择项目input
下面的1-4是本身的提示it
最后比较关键,3>&1 1>&2 2>&3是为了把选择的内容填进变量OPTIONio
whiptail --title "EmailAddress-form Input Box" --inputbox "What is your add EmailAddress?" 10 60 @shenxu.com 3>&1 1>&2 2>&3
--inputbox "What is your add EmailAddress?" 是能够造成一个让用户输入的提示框
@shenxu.com 是默认输入text里的值
whiptail --msgbox "You chose Cancel." 10 40 是显示一行你的提示
其实还有--infobox,彷佛和msgbox很像,其实不一样,它基本上用不上,是在shell运行完后,能够往前翻页能看见的东西
--scrolltext 20 40是为了显示多行的时候能够上下滚动
另外还有--passwordbox和text同样输入,就是以***显示
whiptail --checklist "choose" 15 60 2 "1" "aa" ON "2" "bb" ON
15 60仍是高和宽,2是有几个选项,和menu同样,后面多了一个ON或者OFF表示状态,就是菜单出来后默认是否是选,On是选,OFF不选,用空格键来选择。能够多选。
--radiolist,不能够多选了。ON就只能有一个,其它必须是OFF
还有一个显示进度条的--gauge,我以为没啥用处。
#!/bin/bash
{
for n in `seq 100`
do
sleep 1
echo $n
done
} | whiptail --gauge "Please wait while installing" 6 60 0
linux输入命令对话框,linux里命令的对话框whiptail相关推荐
- linux输入子系统概述,Linux输入子系统(Input Subsystem)
Linux 的输入子系统不仅支持鼠标.键盘等常规输入设备,而且还支持蜂鸣器.触摸屏等设备.本章将对 Linux 输 入子系统进行详细的分析. 一 前言 输入子系统又叫 input 子系统.其构建非常灵 ...
- 7.Linux 输入子系统分析
为什么要引入输入子系统? 在前面我们写了一些简单的字符设备的驱动程序,我们是怎么样打开一个设备并操作的呢? 一般都是在执行应用程序时,open一个特定的设备文件,如:/dev/buttons 1 .. ...
- 安卓linux输入代码在哪里,输入 | Android 开源项目 | Android Open Source Project
Android 输入子系统名义上由遍历系统多个层的事件管道组成. 输入管道 在最低层,物理输入设备会生成描述状态更改(例如按键按压和轻触接触点)的信号.设备固件以某种方式编码和传输这些信号,例如向系统 ...
- linux下pdb文件除水,Linux命令删除文本里rmsd20行,输入到一个新的文本,然后提取出相应的pdb id。...
Linux命令删除文本里rmsd>20行,输入到一个新的文本,然后提取出相应的pdb id. 文本名字为 rmsd.dat, 文本内容是如下: refer.pdb - complex_patch ...
- Linux基本的键盘输入快捷键和一些常用命令
<Ctrl><Alt><F1> 切换到第一个文本终端.在Linux下你可以有多达六个不同的终端.这个命令的意思是:"同时按住<Ctrl>键和& ...
- linux输出管道内容,Linux 输入/输出和管道(|)及相关的命令
此简书不再维护. 在系统默认情况下,shell从键盘读(接收)命令的输入,并将命令的输出显示(写)到屏幕上.shell的标准命令输入是Standard Input,标准输出(Standard Outp ...
- linux查看有几个终端命令,如何知道你在 Linux 里最常使用的几个命令?
不知道大家自接触 Linux 以来,都使用过哪些命令,其中最常用的命令是什么? 我最常用的命令之一是 sudo ,因为我每天都在使用它在 Linux 上安装.更新.删除软件包以及其它各种需要超级用户权 ...
- linux输入ls后不显示_零基础学习之Linux基础命令小结
安装完重启后,没有像sery所说在图形界面崩溃了,由于我没有安装X-WINDOWS而是直接进入了文本界面.如果你想做linux管理的话,最好在文本界面下工作,这样会适应如下图: 第一行显示的是我们所安 ...
- linux输入过的命令行,LINUX中命令行的历史记录和编辑
前的Linux发行版默认使用Bash Shell,它已成为Linux系统的实际标准.Bash Shell命令行具有非常强大的功能.Bash Shell提供了一些特性使输入命令变得容易. 1.命令行的历 ...
- Linux输入命令不显示
不知大家是否遇到过在远程linux服务器正在努力敲打命令时,突然不显示了你敲的内容.下面针对此问题进行分析. 在linux系统中有这么一个命令stty,stty命令用于检查和修改当前注册的终端的通信参 ...
最新文章
- 区块链笔记-Hash算法
- uml具有多种视图_UML建模与架构文档化
- vue 调用共众url_vue单页面,在微信公众号支付中遇到的URL未注册BUG解决方法-Go语言中文社区...
- HDOJ 1082 模拟 水
- ds18b20温度传感器 lcd C语言,C程序控制18B20测温及LCD显示源码打包
- CSS进阶(10)—— 深入理解BFC结界
- uniDBGrid导入数据库(转红鱼儿)
- 计算机操作员五级知识点,计算机操作员五级.doc
- java 实现回收站功能,shell编程之实现windows回收站功能分享
- 2015,鬼王Xun和GGL比赛,带给我们无尽的欢乐
- nacos-demo feign调用
- Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群
- 银行按揭借款合同范本
- 用二维数组打印杨辉三角
- python 更新pip报错 解决方法大全
- [SharePoint教程系列]SharePoint 2016 安装语言包
- 时序分析 27 - 时序预测 格兰杰因果关系(上) 理论知识
- vscode 添加版权信息
- 关于当前安全设置不允许下载文件问题的解决
- Jquery UI中 Dialog对象的作用及常用属性