1. 执行脚本后,显示你所能够管理的主机
2. 根据主机菜单,进行选择对应的数字连接其对应的主机
3. 写一个循环,连接完一台主机后退出,还是在脚本运行中,没有退出脚本,继续连接其他主机
4. 不能使用Ctrl+c d z等操作
5. 需要每次登陆我们的会话窗口,都是自动的执行该脚本,不可以管理服务器后台 /etc/bashrc
6. 需要留一个后门,使用暗号可以退出脚本
[root@shell ~]# cat /scripts/jumpserver.sh
#!/bin/bash
#1.定义主机清单菜单
menu() {
cat<<EOF
##########################
1. DB01-10.0.0.51
2. DB02-10.0.0.52
3. WEB01-10.0.0.7
4. 显示主机列表清单
##########################
EOF
}
#2.打印清单
menu
#3.进入循环
trap "" HUP INT TSTP #禁止输入Ctrl+c +d +z等操作
while true
do
read -p "请根据菜单输入你要进行连接的主机:" Num
#4.根据菜单列表进行编写对应的命令序列
case $Num in
1)
echo "你选择了连接DB01-10.0.0.51.............."
echo "正在测试DB01主机的连通情况.............."
ping -c1 -W1 10.0.0.51 &>/dev/null
if [ $? -eq 0 ];then
echo "DB01主机的连通情况是完好的!正在连接中................."
ssh root@10.0.0.51
else
echo "DB01主机的网络不可达!无法进行远程连接!"
fi
;;
2)
echo "你选择了连接DB02-10.0.0.52.............."
echo "正在测试DB02主机的连通情况.............."
ping -c1 -W1 10.0.0.52 &>/dev/null
if [ $? -eq 0 ];then
echo "DB02主机的连通情况是完好的!正在连接中................."
ssh root@10.0.0.52
else
echo "DB02主机的网络不可达!无法进行远程连接!"
fi
;;
3)
echo "你选择了连接WEB01-10.0.0.7.............."
echo "正在测试WEB01主机的连通情况.............."
ping -c1 -W1 10.0.0.7 &>/dev/null
if [ $? -eq 0 ];then
echo "WEB01主机的连通情况是完好的!正在连接中................."
ssh root@10.0.0.7
else
echo "WEB01主机的网络不可达!无法进行远程连接!"
fi
;;
4)
clear
menu
;;
anhao)
echo "管理人员退出脚本通道!"
exit
;;
*)
echo "请不要乱输!请按照要求输入!"
esac
done
[root@shell ~]# tail -1 /etc/bashrc
/bin/sh /scripts/jumpserver.sh