#Dialog+Shell介绍
Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的
#创建脚本目录
[[email protected] ~]# mkdir -p /scripts/tiaoban/{qqandroid,qqios,qqwxandroid,wxios,menu_list}
#禁止普通用户登陆
[[email protected] ~]# cat /etc/profile.d/tiaoban.sh [ $UID -ne 0 ] && sh /scripts/tiaoban/tiaoban.sh
#脚本目录结构
[[email protected] tiaoban]# tree /scripts/tiaoban/ /scripts/tiaoban/ ├── menu_list │ ├── one_menu │ └── one_option ├── qqandroid │ ├── three_directory │ │ ├── ip.txt │ │ ├── three_1_100_tiaoban.sh │ │ ├── three_menu │ │ └── three_option │ ├── tow_menu │ ├── tow_option │ └── tow_tiaoban.sh ├── qqios ├── qqwxandroid ├── tiaoban.sh └── wxios 6 directories, 10 files
#第一层目录脚本
[[email protected] tiaoban]# cat tiaoban.sh #!/bin/bash while : do stty susp ^@#$ #屏蔽Crtl +z stty intr ^@$# #屏蔽Ctrl +c stty quit ^*#$ #屏蔽Ctrl +l LJ=`dirname $0` dialog --title "Menu" --no-cancel --menu "Level directory" 12 35 5 `cat $LJ/menu_list/one_menu` 2> $LJ/menu_list/one_option SELECT=`cat $LJ/menu_list/one_option` if [ "$SELECT" == 1 ];then sh $LJ/qqandroid/tow_tiaoban.sh elif [ "$SELECT" == 2 ];then sh $LJ/qqios/tow_tiaoban.sh elif [ "$SELECT" == 3 ];then sh $LJ/wxandroid/tow_tiaoban.sh else sh $LJ/wxios/tow_tiaoban.sh fi done
#第一层目录菜单
[[email protected] tiaoban]# cat /scripts/tiaoban/menu_list/one_menu 1 qqandroid 2 qqios(功能未开发) 3 wxandroid(功能未开发) 4 wxios(功能未开发)
#第二层目录脚本
[[email protected] tiaoban]# cat /scripts/tiaoban/qqandroid/tow_tiaoban.sh #!/bin/bash while : do LJ=`dirname $0` dialog --title "Menu" --menu "Secondary directory" 13 35 15 `cat $LJ/tow_menu` 2> $LJ/tow_option SELECT=`cat $LJ/tow_option` if [ "$SELECT" == 1 ];then sh $LJ/three_directory/three_1_100_tiaoban.sh elif [ "$SELECT" == 2 ];then sh $LJ/three_directory/three_101_200_tiaoban.sh elif [ "$SELECT" -eq 3 ];then sh $LJ/three_directory/three_201_300_tiaoban.sh else sh /scripts/tiaoban/tiaoban.sh fi done
#第二层目录菜单
[[email protected] tiaoban]# cat /scripts/tiaoban/qqandroid/tow_menu 1 qqandroid1-100服 2 qqandroid101-200服(功能未开发) 3 qqandroid201-300服(功能未开发) 4 返回上一级
#第三层目录脚本
[[email protected] tiaoban]# cat /scripts/tiaoban/qqandroid/three_directory/three_1_100_tiaoban.sh #!/bin/bash while : do LJ=`dirname $0` dialog --title "Menu" --menu "Three directory" 13 35 15 `cat $LJ/three_menu` 2> $LJ/three_option SELECT=`cat $LJ/three_option` function connect() { yh=`id` user=`echo $yh | awk -F" " ‘{print $2}‘ | awk -F"gid=" ‘{print $2}‘ | awk -F"(" ‘{print $2}‘ | awk -F")" ‘{print $1}‘` ip=`head -$SELECT $LJ/ip.txt | tail -1` ssh -p 22 [email protected]$ip } if [ "$SELECT" == 1 ];then connect elif [ "$SELECT" == 2 ];then connect elif [ "$SELECT" == 3 ];then connect elif [ "$SELECT" == 4 ];then connect elif [ "$SELECT" == 5 ];then sh /scripts/tiaoban/qqandroid/tow_tiaoban.sh else sh /scripts/tiaoban/tiaoban.sh fi done
第三层目录菜单
[[email protected] tiaoban]# cat /scripts/tiaoban/qqandroid/three_directory/three_menu 1 qq1服 2 qqandroid2服(功能未开发) 3 qqandroid3服(功能未开发) 4 qqandroid...服(功能未开发) 5 返回上一级目录 6 返回首页
#IP文件展示
[[email protected] tiaoban]# cat /scripts/tiaoban/qqandroid/three_directory/ip.txt 192.168.1.103 192.168.1.104 192.168.1.105 192.168.1.106 192.168.1.107 192.168.1.108 192.168.1.109 192.168.1.110 192.168.1.111 192.168.1.112
#执行效果展示
1)普通用户登陆
2)第一级菜单栏
3)第二级菜单栏
4)第三级菜单栏
5)成功登陆展示
提示:在用普通用户登陆跳板机连接后端服务器的时候,普通用户按Crtl+c和Ctrl+z是没有效果的,所以普通用户只能直接连接到后端的服务器而不能直接登陆到跳板机终端
时间: 2024-10-25 15:10:00