首页 > 代码库 > 用dialog包制作窗口
用dialog包制作窗口
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包制作窗口
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。