zoukankan      html  css  js  c++  java
  • 图形环境下的shell编程

    #创建文本菜单
        创建菜单布局
            $
            clear
            echo
            echo -e "			Sys Admin Menu
    "
            echo -e "	1. Display disk space"
            echo -e "	2. Display logged on users"
            echo -e "	3. Display memory usage"
            echo -e "	0. Exit menu
    
    "
            echo -en "		Enter option: "
            $
        创建菜单函数
            $
            function diskspace {    -- 一个空函数。只有一条echo输出语句
            clear    -- 函数从 clear 命令开始。这样你就能在一个干净的屏幕上执行该函数,不会受到原先菜单的干扰。
            echo "This is where the diskspace commands will go"
            }
            function menu {    -- 将菜单布局本身作为一个函数来创建
            clear
            echo
            echo -e "			Sys Admin Menu
    "
            echo -e "	1. Display disk space"
            echo -e "	2. Display logged on users"
            echo -e "	3. Display memory usage"
            echo -e "	0. Exit program
    
    "
            echo -en "		Enter option: "
            read -n 1 option
            }
            menu    -- 呈现菜单布局
            $
        添加菜单逻辑
            menu
            case $option in
            0)
                break ;;
            1)
                diskspace ;;
            2)
                whoseon ;;
            3)
                memusage ;;
            *)
                clear
                echo "Sorry, wrong selection";;
            esac
        整合shell脚本菜单
            $
            function diskspace {
                clear
                df -k
            }
            function whoseon {
                clear
                who
            }
            function memusage {
                clear
                cat /proc/meminfo
            }
            function menu {
                clear
                echo
                echo -e "			Sys Admin Menu
    "
                echo -e "	1. Display disk space"
                echo -e "	2. Display logged on users"
                echo -e "	3. Display memory usage"
                echo -e "	0. Exit program
    
    "
                echo -en "		Enter option: "
                read -n 1 option
            }
            while [ 1 ]    -- 1相当于一个无限循环,通过break中断当前循环
            do
                menu
                case $option in
                0)
                    break ;;
                1)
                    diskspace ;;
                2)
                    whoseon ;;
                3)
                    memusage ;;
                *)
                    clear
                    echo "Sorry, wrong selection";;
                esac
                echo -en "
    
    			Hit any key to continue"
                read -n 1 line
            done
            clear
            $
        使用select命令(比之前的严密,不会重复跳到菜单布局)
            格式:
                select variable in list    -- list 参数是由空格分隔的文本选项列表
                do
                    commands
                done
            $
            function diskspace {
                clear
                df -k
            }
            function whoseon {
                clear
                who
            }
            function memusage {
                clear
                cat /proc/meminfo
            }
            PS3="Enter option: "    -- 显示一个由 PS3 环境变量定义的特殊提示符
            select option in "Display disk space" "Display logged on users" "Display memory usage" "Exit program"
                -- select 语句中的所有内容必须作为一行出现
            do
                case $option in
                "Exit program")    
                    break ;;
                "Display disk space")
                    diskspace ;;
                "Display logged on users")
                    whoseon ;;
                "Display memory usage")
                    memusage ;;
                *)
                    clear
                    echo "Sorry, wrong selection";;
                esac
            done
            clear        
            $
    #制作窗口
        需要dialog包,无法执行下载安装(略)
    #使用图形
        KDE环境
            需要kdialog包
        GNOME环境
            zenity窗口部件
                选 项                                  描 述
                --calendar         显示一整月日历
                --entry            显示文本输入对话窗口
                --error            显示错误消息对话窗口
                --file-selection   显示完整的路径名和文件名对话窗口
                --info             显示信息对话窗口
                --list             显示多选列表或单选列表对话窗口
                --notification     显示通知图标
                --progress         显示进度条对话窗口
                --question         显示yes/no对话窗口
                --scale            显示可调整大小的窗口
                --text-info        显示含有文本的文本框
                --warning          显示警告对话窗口
            如:zenity --calendar   -- 图形化显示日历
    生活就要逢山开路遇水搭桥,愿共勉!
  • 相关阅读:
    .net com
    Json树递归Js查询Json父子节点
    Angular中使用$watch监听object属性值的变化
    教程
    JS格式化Thu May 12 2016 08:00:00 GMT+0800 (中国标准时间)
    js中获取时间new Date()详细介绍
    select默认空白问题。。
    angular先加载页面再执行事件,特别在动态生成id,然后做echarts等图表
    详解angularJs中自定义directive的数据交互
    Angularjs ng-table的使用(可以加button)以及angularjs学习资料
  • 原文地址:https://www.cnblogs.com/TianMu/p/11199423.html
Copyright © 2011-2022 走看看