CentOS7.3学习笔记总结(七十六)

前面我们介绍了dialog的基本功能(请查阅《CentOS7.3学习笔记总结(七十五)-Linux系统中的窗口制作工具dialog介绍》),今天我们来介绍怎么在linux系统的shell脚本中怎么使用dialog命令。

我们就利用以前的shell脚本(脚本在CentOS7.3学习笔记总结(七十四)-linux中创建文本菜单》文章中)来使用dialog命令,我们先看看改造后的脚本内容:

[root@localhost ~]# cat dialog_shell.sh

#!/bin/bash

temp=$(mktemp -t test.XXXXXX)#建立暂存文件,用于存放磁盘空间信息或者内容存息,共dialog调用。

temp2=$(mktemp -t test2.XXXXXX) #建立暂存文件,用于存放dialogmenu菜单重定向STDERR来获得输出值

function diskspace {#定义磁盘信息函数

        df -k > $temp

        dialog --textbox $temp 20 60

}

function memusage {#定义内存信息函数

        cat /proc/meminfo > $temp

        dialog --textbox $temp 20 50

}

 

while [ 1 ]

do

        dialog --menu "Dispaly Computer Info Menu" 20 30 10 1 "Display disk space" 2 "Display memory"  0 "Exit" 2> $temp2

#012 是系统保留的三个文件描述符,分别对应标准输入、标准输出、标准错误。

        if [ $? -eq 1 ]

#$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)

        then

                break#错误中断循环

        fi

        selection=$(cat $temp2)

        case $selection in

        1)

                diskspace ;;

        2)

                memusage ;;

        0)

                break ;;

        *)

                dialog --msgbox "Sorry, invalid selection" 10 30

        esac

done

rm -f $temp 2> /dev/null#删除暂存文件

rm -f $temp2 2> /dev/null#删除暂存文件

效果:

image.png                                               

结果如下:

image.png

鼠标点击退出,回到程序首页,选择2,点击确认:

image.png

点击退出,回到程序首页,选择0,点击确认,程序退出。这就是dialog命令在shell脚本中的简单应用,仅供参考。


猜你喜欢

转载自blog.51cto.com/6300167/2543511