用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

我的版本:

时间: 2024-11-05 11:28:28

用dialog包制作窗口的相关文章

rpm包制作(一)

rpm介绍 rpm的全称是RedhatPackage Manager,常见的使用rpm软件包的系统主要有Fedora.CentOS.openSUSE.SUSE企业版.PCLinuxOS等.使用deb软件包后缀的类Debian系统最常见的有Debian.Ubuntu.Finnix等. 从软件运行的结构来说,一个软件主要可以分为三个部分:可执行程序.配置文件和动态库.当然还有可能会有相关文档.手册.供二次开发用的头文件以及一些示例程序等等.可执行文件是必须的,其他部分都是可选的. 制作rpm软件包的

linux rpm包制作

Linux Rpm 包制作 一.简介 RPM(Red Hat Package Manager)的最常见的软件包管理器. 软件包管理器 rpm,deb(dpkg) RPM包命名:name-version-release.architecture.rpm. xorg-x11-xsm-1.0.2 -4.fc6.i386.rpm 包名       版本号 编译次数 厂商 平台 RPM功能:安装.卸载.升级.查询和验证. rpm     -ivh              安装 rpm     -Uvh

通过nginx源码包制作rpm包

目录 目录... 1 版权声明:... 2 文档信息:... 2 一.通过nginx源码包制作rpm包... 2 1.制作前环境准备:... 3 2.创建普通用户... 3 二.编写spec规则... 3 1.在模板里添加规则... 3 2.关于保存*.spec报错的解决... 4 2.1解决办法:... 5 2.2使用rpmbuild命令生成 rpm包... 5 三.在其他主机测试rpm包... 5 1. 需要按照依赖包... 5 2. 上传并安装nginxRPM包... 5 3. 查看端口开

RPM包制作方法

一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package Manager的缩写.在Fedora.Redhat.Mandriva.SuSE.YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用: RPM包中除了包括程序运行时所需要的文件,也有其它的文件:一个RPM包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定

第11天 制作窗口

这一节虽然题目是"制作窗口",但实际上制作窗口只需用像素画一个即可,难点是由于加入了计数器,会出现闪烁的情况,这里就讲一下消除闪烁的做法. counter窗口在疯狂的计数,鼠标放在飞了的数字上,会出现闪烁,解决方法是:在每次画面的重新绘制中,只绘制counter所在的图层,让鼠标所在的图层不用进行绘制.根据这个思路,具体的方法如下. 我们用不同的数字代表不同的层,2便是counter窗口所在层,3是鼠标所在层,1是背景层.我们用map数组来存储上面的信息,当绘制图层1时,遍历map,遇

Ngins rpm包制作,spec配置文件

Name:           nginx Version:        1.4.2 Release:        1%{?dist} Summary:        nginx from source Group:          System Environment/Daemons License:        GPLv2 URL:            http://nginx.org Source0:        %{name}-%{version}.tar.gz Source

php-7.1.0 rpm包制作

nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: 7.1.0 Release: 1%{?dist} Summary: php Group: Applications/Server License: GPLv2 URL: http://www.51.com Source0: %{name}-%{version}.tar.gz Source1: php

linux之rpm包制作

难点:spec文件的编写 1,首先安装rpm-build命令 yum install rpm-build 2,介绍spec编写规则: #ll #drwxr-xr-x  2 root root 4096 Jul 29 13:50 BUILD #drwxr-xr-x  2 root root 4096 Jul 29 13:51 RPMS #drwxr-xr-x  2 root root 4096 Jul 29 13:51 SOURCES #drwxr-xr-x  2 root root 4096 J

nginx的rpm包制作

nginx prm包 详细制作流程 1.准备工作 1.1:我这里准备了一台centos7的虚拟主机 1.2:官网下载最新的稳定版nginx源码包,地址:http://nginx.org/nginx-1.10.2.tar.gz 1.3:官网下载nginx的控制脚本,地址:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/ 1.4:手动安装一遍,看看都需要哪些依赖,所需依赖:gcc-c++,pcre-