1. 程式人生 > >用dialog包制作窗口

用dialog包制作窗口

info 註意 ext inf spa mem mktemp ear selection

 1 #!/bin/bash
 2 
 3 temp=$(mktemp -t test.XXXXXX)
 4 temp2=$(mktemp -t test.XXXXXX)
 5 
 6 function diskspace {
 7         df -k > $temp
 8         dialog --textbox $temp 20 60
 9 }
10 function whoseon {
11         whoami > $temp
12         dialog --textbox $temp 20 50
13 }
14 function memusage {
15 cat /proc/meminfo > $temp 16 dialog --textbox $temp 20 50 17 } 18 while [ 1 ] ; do 19 dialog --menu "Sys Admin menu" 20 30 10 0 "Exit option" 1 "Display disk space" 2 "Display logged on users" 3 "Display memory usage" 2> $temp2 20 if [ $? -eq 1 ] ; then 21 break 22 fi 23 24 dialog
--textbox $temp2 20 50 25 26 selection=$(/bin/cat $temp2) 27 28 case $selection in 29 0) 30 break ;; 31 1) 32 diskspace ;; 33 2) 34 whoseon ;; 35 3) 36 memusage ;; 37 *) 38 dialog --msgbox "
Sorry, wrong slection" 10 30 39 esac 40 done 41 rm -f $temp 2> /dev/null 42 rm -f $temp2 2> /dev/null 43 clear

註意第19行對STDERR進行了重定向,第24行用以顯示$temp2的內容,即用戶選擇的選項。

從鍵盤鍵入0~3都能正常輸出,可是,輸入4的時候,$temp2顯示的是3,然後其他的都顯示的是0

我的版本:

技術分享

用dialog包制作窗口