用dialog包制作窗口

Posted 枝桠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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包制作窗口的主要内容,如果未能解决你的问题,请参考以下文章

子dialog 随着鼠标移动了,希望父dialog同步移动,用下面方法不对,请指教

PyQt5对话框窗口打开时没有布局

对话框片段包始终为空

GTK 小部件对话框未关闭

日期选择器对话框在片段中不起作用[关闭]

dialog是啥程序