测试系统版本:CentOS 6.4 x86_64

作用:使用dialog组件,体现各种菜单,例如单选、复选等等, 此脚本仅演示一小部分功能


演示:

wKioL1cUe97jt7w-AADqmITwN4c277.png


wKioL1cUe_KhkopuAADKUcNFkKE170.png


代码专区:

#/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



附件下载源码