zoukankan      html  css  js  c++  java
  • 用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

    我的版本:

  • 相关阅读:
    七 使用list和tuple
    python 操作RabbitMQ
    python 操作Memcached
    python 操作SQLAlchemy
    Scrapy 分布式爬虫
    Django 测试驱动开发
    Flask 页面缓存逻辑,jinja2 过滤器,测试器
    Flask Markup 上下文,request
    Flask 学习 十六 部署
    Flask 学习 十五 性能
  • 原文地址:https://www.cnblogs.com/fallenmoon/p/6805604.html
Copyright © 2011-2022 走看看