前言
实现免密登陆脚本, expect登陆远程主机,将生成的密钥写入到目标主机, expect测试远程登陆。
1)通过shift读取脚本参数
2)通过select来选择功能.例如功能有
- 安装mysql
- 安装apache
- 免密钥登陆主机
当前我们只实现免密钥登陆主机,升级一下:
3)通过函数封装每个功能
4)将免密钥登陆的过程可以重复进行, while 循环实现重复,需要有退出过程。当用户输入exit时,退出免密钥功能。
5)支持输入一批主机免密钥,使用数组 实现
一键脚本
cat /root/login_and_install.sh
#!/bin/bash
# 显示菜单
menu () {
PS3="请选择操作(1-4): "
select MENU in 免密登陆 安装mysql 安装apache 退出 ; do
case $REPLY in
1)
echo "===== 免密登陆 ====="
login_without_pass
echo " 免密登陆成功。"
;;
2)
echo "===== 安装mysql ====="
install_mysql
echo " 安装mysql成功。"
;;
3)
echo "===== 安装apache ====="
install_apache
echo " 安装apache成功。"
;;
4)
echo "===== 退出菜单 ====="
break
;