————————————————

Shell图形化脚本基础

脚本菜单

  • 创建菜单

    • 创建菜单函数

      function memu {
       clear
       echo
       echo -e "\t\t  THE FUNCTION\n "
       echo -e  "\t1.FUNCTION1"
       echo -e  "\t2.FUNCTION2"
       echo -e  "\t3.FUNCTION3"
       echo -e  "\t4.FUNCTION4"
       echo -e  "\t5.FUNCTION5"
       echo -ne "ENTER YOUR OPTION:"
       read -n 1 option
       echo 
       }
  • 使用select 创建菜单

    • 一条命令创建菜单,同时获取输入并处理
    • 基本格式
       PS3="Enter option:"
        select varaible in list
        do
        comamds
        done
    注意事项

      PS3是select命令的提示符
      list 参数是由空格分隔的文本选项列表,由列表构成菜单,select会根据列表的下标生成带编号的选项
      variable存储的是文本字符串,并非关联的数字
      在case中比较的是文本字符串,并非相关联的数字
  • 创建菜单逻辑
   case $option in
    1)echo "you  choose  function1";;
    2)echo "you  choose  function2";;
    3)echo "you  choose  function3";;
    4)echo "you  choose  function4";;
    5)echo "you  choose  function5";;
    *)echo "error !!!";;
    esac
    echo -ne "\n\n\t\tenter any key to continue  ctrl+c to exit..."
    read -n 1 line
    done                                                                                                                                                                                                               
    clear

窗口制作

  • dialog命令

    • dialog由命令行来生成哪种窗口部件,部件是窗口的元素类型

    • 基本格式

      dialog --widget parameters

      • 注意事项

        • dialog根据用户选择返回状态码
        • 部件返回的数据会输出到标准错误,即STDERR,可进行重定向使得输出到文件及其他位置
    • 部件(widget)

      • msgbox

        dialog --title XXX--msgbox text height width

      • yesno

        dialog --title XXX --yesno text heigiht width

      • inputbox

        dialog --inputbox text height

      • textbox

        dialog --textbox text height weight

      • memu

        dialog --memu XXX height width items otption1 xxx otpion2 xxx ....optionsn xxx

      • fselect

        dialog --title XXX --fselect startdir height width

    • 选项

      • 创建公共标题

        dialog --backtitle XXX

    • 脚本中应用

      • 规则

        • 有yes或no按钮,检查退出状态码(yes为0,no为1)
        • 重定向STDERR获得输出
posted @ 2022-10-17 22:47  Tjane'Blogs  阅读(279)  评论(0)    收藏  举报