玩转Linux Shell编程(七)、Text GUI编程

360 阅读1分钟
  1. Linux Shell和基本指令
  2. Bash shell语法
  3. 正则表达式
  4. 文本处理之grep
  5. 文本处理之sed
  6. 文本处理之awk
  7. Text GUI编程
  8. Tomcat启动脚本分析
  9. gradlew脚本分析

一般情况我们都是通过命令行进行交互的,比如要求选择时,通过输入1、2、3等编号进行交互,但也可以创建一个简单的GUI,这就是dialog工具的作用。

安装

$ sudo apt-get install dialog

示例

输入

$ dialog --inputbox "输入 你的名字:" 10 40 2>name.txt

在这里插入图片描述

消息

$ dialog --title 标题 --msgbox "消息提示" 10 50

在这里插入图片描述

确认

$ dialog --title "确认" --yesno "是否继续" 10 40                                       │  

在这里插入图片描述

结果可以从$?中获取,0表示选择了是,1表示选择了否。

dialog --title "确认" --yesno "是否继续" 10 40 
if (( $? ==0 ))
then
	echo "是"
else
	echo "否"
fi	

文本

$ dialog --textbox ./test.sh 22 70

菜单

#!/bin/bash
dialog --clear --title "请选择" \
        --menu "请选择" 20 51 4 \
        "1"  "红色" \
        "2"  "绿色" 2> ./text.$$
result=`cat ./text.$$`
echo $result
rm -rf ./text.$$   

多选

#!/bin/bash
dialog --checklist "按空格进行选择:" 10 40 3 \
        1 选项1 on \
        2 选项2 on \
        3 选项3 off 2>text.$$
result=`cat text.$$`
echo $result   
rm -rf text.$$        

单选

#!/bin/bash

dialog --backtitle "单选" \
  --radiolist "选择类型:" 10 40 5 \
        1 类型1 off \
        2 类型2 on \
        3 类型3 off \
        4 类型4 off 2>text.$$
result=`cat text.$$`
echo $result   
rm -rf text.$$        

时间

#!/bin/bash

dialog  --timebox  "时间选择:" 10 40 5  2>text.$$
result=`cat text.$$`
echo $result   
rm -rf text.$$        

密码对话框

#!/bin/bash
 dialog --title "Password" --passwordbox "请输入密码:" 0 0  2>text.$$
result=`cat text.$$`
echo $result   
rm -rf text.$$        

编辑文本

#!/bin/bash

 dialog --editbox ./1.txt 20 80 2>1.txt