Linux下Dialog+Shell三层目录专业规范跳板机脚本
#Dialog+Shell介绍 Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的 #创建脚本目录 [root@localhost~]#mkdir-p/scripts/tiaoban/{qqandroid,qqios,qqwxandroid,wxios,menu_list} #禁止普通用户登陆 [root@localhost~]#cat/etc/profile.d/tiaoban.sh [$UID-ne0]&&sh/scripts/tiaoban/tiaoban.sh #脚本目录结构 [root@localhosttiaoban]#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 6directories,10files #添加权限 [root@localhosttiaoban]#chmod+x/scripts/tiaoban/menu_list/{one_menu,one_option} [root@localhosttiaoban]#chmod+x/scripts/tiaoban/qqandroid/{tow_menu,tow_option} [root@localhosttiaoban]#chmod+x/scripts/tiaoban/qqandroid/three_directory/{three_menu,three_option} #第一层目录脚本 [root@localhosttiaoban]#cattiaoban.sh #!/bin/bash while: do sttysusp^@#$#屏蔽Crtl+z sttyintr^@$##屏蔽Ctrl+c sttyquit^*#$#屏蔽Ctrl+l LJ=`dirname$0` dialog--title"Menu"--no-cancel--menu"Leveldirectory"12355`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 #第一层目录菜单 [root@localhosttiaoban]#cat/scripts/tiaoban/menu_list/one_menu 1qqandroid 2qqios(功能未开发) 3wxandroid(功能未开发) 4wxios(功能未开发) #第二层目录脚本 [root@localhosttiaoban]#cat/scripts/tiaoban/qqandroid/tow_tiaoban.sh #!/bin/bash while: do LJ=`dirname$0` dialog--title"Menu"--menu"Secondarydirectory"133515`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"-eq3];then sh$LJ/three_directory/three_201_300_tiaoban.sh else sh/scripts/tiaoban/tiaoban.sh fi done #第二层目录菜单 [root@localhosttiaoban]#cat/scripts/tiaoban/qqandroid/tow_menu 1qqandroid1-100服 2qqandroid101-200服(功能未开发) 3qqandroid201-300服(功能未开发) 4返回上一级 #第三层目录脚本 [root@localhosttiaoban]#cat/scripts/tiaoban/qqandroid/three_directory/three_1_100_tiaoban.sh #!/bin/bash while: do LJ=`dirname$0` dialog--title"Menu"--menu"Threedirectory"133515`cat$LJ/three_menu`2>$LJ/three_option SELECT=`cat$LJ/three_option` functionconnect(){ 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-p22$user@$ip } if["$SELECT"==5];then sh/scripts/tiaoban/qqandroid/tow_tiaoban.sh elif["$SELECT"==6];then sh/scripts/tiaoban/tiaoban.sh else connect fi done 第三层目录菜单 [root@localhosttiaoban]#cat/scripts/tiaoban/qqandroid/three_directory/three_menu 1qq1服 2qqandroid2服(功能未开发) 3qqandroid3服(功能未开发) 4qqandroid...服(功能未开发) 5返回上一级目录 6返回首页 #IP文件展示 [root@localhosttiaoban]#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是没有效果的,所以普通用户只能直接连接到后端的服务器而不能直接登陆到跳板机终端