测试系统版本:CentOS 6.4 x86_64
作用:使用dialog组件,体现各种菜单,例如单选、复选等等, 此脚本仅演示一小部分功能
演示:
代码专区:
#/bin/bash # LY # ------------------ # Copyright 2016.04.17 LingYi (lydygly@163.com) QQ:1519952564 # "dialog menu" dialog_list_A="AAAA" dialog_list_B="BBBB" dialog_list_C="CCCC" function_dialog_A_name="echo AAAA" function_dialog_B_name="echo BBBB" function_dialog_C_name="echo CCCC" dialog_anotherlist_1="1111" dialog_anotherlist_2="2222" dialog_anotherlist_3="3333" function_dialog_another_1_name="echo 1111" function_dialog_another_2_name="echo 2222" function_dialog_another_3_name="echo 3333" #Dialog List about_dialog_list(){ MUST=`dialog --stdout --backtitle "Owner:LingYi QQ: 2234386990 \ Email:yugangding2012@126.com" --title "Features" --msgbox \ "\n\n$1\n_________________________\nNOTE:Determine the execution Press Enter return to the\n\ main menu, press Esc to exit !" 20 32` bash $0 } another_list(){ Others_List_Choice=`dialog --stdout --backtitle "Owner:LingYi \ QQ: 2234386990 Email: yugangding2012@126.com"\ --title "Others:" --menu "Menu" 20 40 10 \ 1\> "${dialog_anotherlist_1}"\ 2\> "${dialog_anotherlist_2}"\ 3\> "${dialog_anotherlist_2}"` Others_List_Choice=${Others_List_Choice%>} case $Others_List_Choice in 1) ${function_dialog_another_1_name}; exit ;; 2) ${function_dialog_another_2_name}; exit ;; 3) ${function_dialog_another_3_name}; exit ;; esac bash $0 } tput cnorm rpm -q expect &>/dev/null || yum install -y expect echo $? [[ $? -ne 0 ]] && { echo Please install the \"expect\" by yourself!; exit 1; } rpm -q dialog &>/dev/null || yum install -y dialog [[ $? -ne 0 ]] && { echo Please install the \"dialog\" by yourself!; exit 1; } dialog_list_choice=`dialog --stdout --backtitle "Owner:LingYi \ QQ: 2234386990 Email: yugangding2012@126.com" --title \ "Feature list :" --menu "Menu" 20 40 10 \ A\> "${dialog_list_A}" \ B\> "${dialog_list_B}" \ C\> "${dialog_list_C}" \ D\> "Others" \ X\> "About the Software"` dialog_list_choice=${dialog_list_choice%>} case $dialog_list_choice in A) ${function_dialog_A_name}; exit ;; B) ${function_dialog_B_name}; exit ;; C) ${function_dialog_C_name}; exit ;; D) another_list ;; X) about_dialog_list ;; esac
附件下载源码
转载于:https://blog.51cto.com/lingyi/1765026