shell之dialog提示窗口

dialog 提示窗口
1.msgbox
    dialog --msgbox text 20 10
2.yesno
    dialog --title "Please answer" --yesno "Is this thing on?" 10 20
    no 返回值为1,yes为0
3.inputbox
    dialog --inputbox "Enter your age:" 10 20 2>a.txt
    ok 返回0,cancel返回1
4.textbox
    dialog --textbox /etc/passwd 15 45
    exit 返回0
5.menu
    dialog --menu "Sys Admin Menu" 20 30 10 1 "Dislay disk space" 2 "Display users" 2>text.txt
6.fselect
    dialog --title "Select a file" --f  10 50 2>text.txt

mktemp 命令及选项
   没有选项时建立本地临时文件
-t  在系统的临时目录/tmp 下建立临时文件
-d  建立临时目录
 tempfile=`mktemp temp.XXXXXX`                   #文件名格式 file.XXXXXX  6个大写X
 
 

一个简单示例程序

#!/bin/bash

temp=`mktemp -t test.XXXXXX`
temp2=`mktemp -t test2.XXXXXX`
function diskspace {
    df -k > $temp
    dialog --textbox $temp 20 60
}
function whoseon {
    who > $temp
    dialog --textbox $temp 20 50
}

function memusage {
    cat /proc/meminfo > $temp
    dialog --textbox $temp 20 50
}

while [ 1 ]
do
    dialog --menu "Sys Admin Menu" 20 30 10 1 "Display disk apace" 2 "Display users" 3 "Display memory usage" 0 "Exit" 2>$temp2
    if [ $? -eq 1 ]
    then
        break;
    fi
    selection=`cat $temp2`
    case $selection in
    1)
        diskspace ;;
    2)
        whoseon ;;
    3)
        memusage ;;
    0)
        break ;;
    *)
        dialog --msgbox "Sorry,incalid selection" 10 30
    esac
    done
    rm -f $temp $temp2 2> /dev/null
原文地址:https://www.cnblogs.com/tla001/p/6420936.html