• Shell脚本学习笔记(九)文字和图形接口



    文字和图形接口

    dialog是一种在shell script中建立对话框的工具,利用dialog可以建立不同的信息和问题窗口,增加脚本方便性。

    dialog建立的是终端模式下的文本接口,另外有一种和dialog语法兼容的工具叫xdialog,xdialog算建立X window下的图形接口。xdialog使用GTK+图形工具来完成各式各样的对话框,可融入不同的桌面主题。http://xdialog.free.fr/
    除了xdialog外,zenity也可以,它改写自gdialog。

    安装:sudo apt-get install dialog xdialog zenity
    xdialog没有找到。。。

    使用dialog

    目前支持的对话框功能有:
    calendar,checklist,form,fselect,gauge,infobox,inputbox,inputmenu,menu,msgbox(message),password,pause,radiolist,tailbox,tailboxbg,textbox,timebox,and yesno(yes/no)

    这些对话框的语法,至少要有三个参数:标题或信息内容,窗口高度、宽度

    常用的用法:
    显示信息:dialog --msgbox 信息内容 高度 宽度
    按确认离去状态为0,按esc离去状态为255,可使用$?来检查用户对窗口的反应。
    例子

    #!/bin/bash

    DIA
    ='/usr/bin/dialog'

    $DIA --msgbox "小测试1" 10 40

    x
    =$?

    if [ "$x" -eq 0 ]; then
    echo "你按了Enter键"
    elif [
    "$x" -eq 255 ]; then
    echo "你按了Esc键"
    else
    echo "未知的错误"
    fi
    结果



    进度条

    #!/bin/bash

    {
    for((i=1;i<=10;i++))
    do
    let I
    =10*i
    echo $I
    sleep
    1
    done
    } | dialog --gauge
    "进度" 5 60 0

    xdialog可向下兼容大部分的dialog语法,只需要改为Xdialog。但支持更加多样化的对话框。。

  • 相关阅读:
    mac系统下 Homebrew 使用
    mac上安装nginx
    DOMContentLoaded 和 Load 事件 区别(待补充)
    JavaScript运行机制
    理解js事件循环(event loop)
    理解js闭包
    nginx 知识点
    014_mac下的端口查看
    003_如何正确的进入容器
    002_docker构建zookeeper环境
  • 原文地址:https://www.cnblogs.com/njucslzh/p/1988799.html
Copyright © 2020-2023  润新知