• Shell判断:模式匹配:case(二)


    简单的JumpServer

            1、需求:工作中,我们需要管理N多个服务器。那么访问服务器就是一件繁琐的事情。通过shell编程,编写跳板程序。当我们需要访问服务器时,看一眼服务器列表名,按一下数字,就登录成功了。

            2、分析:

    •         运行跳板脚本。弹出数十台服务器名的菜单
    •         1)web1
    •         2)web2
    •         3)web3
    •         ...........  
    •         q)quit
    •          用户请选择要连接的主机[1-3]:1
    •         Last login: Tue Nov 21 22:23:09 2023 from 192.168.151.1        #成功登陆
    1. [root@localhost ~]# vim jump.sh #脚本编写
    2. #!/bin/bash
    3. #定义目标主机ip
    4. web1=192.168.151.151
    5. web2=192.158.151.152
    6. web3=192.168.151.153
    7. #打印菜单
    8. cat <
    9. 目标服务器列表:
    10. 1.web1
    11. 2.web2
    12. 3.web3
    13. 4.web4
    14. 5.mysql1
    15. 6.mysql2
    16. 7.docker1
    17. q.quit
    18. EOF
    19. #读取用户输入
    20. read -p "请输入管理服务器序号:" num
    21. #判断用户选择
    22. case $num in
    23. 1)
    24. ssh root@$web1
    25. ;;
    26. 2)
    27. ssh root@$web2
    28. ;;
    29. 3)
    30. ssh root@$web3
    31. ;;
    32. q)
    33. echo "谢谢,再见"
    34. ;;
    35. esac
    36. [root@localhost ~]# chmod +x jump.sh #脚本授权
    37. [root@localhost ~]# ./jump.sh #执行脚本
    38. 目标服务器列表:
    39. 1.web1
    40. 2.web2
    41. 3.web3
    42. 4.web4
    43. 5.mysql1
    44. 6.mysql2
    45. 7.docker1
    46. q.quit
    47. 请输入管理服务器序号:1
    48. The authenticity of host '192.168.151.151 (192.168.151.151)' can't be established.
    49. ECDSA key fingerprint is SHA256:1v+zhimsbT04H97F0PMoe28USxNkJac201tQ233d9pE.
    50. ECDSA key fingerprint is MD5:a1:d0:5a:af:0f:5d:0a:f7:68:b0:9d:13:ed:43:51:ff.
    51. Are you sure you want to continue connecting (yes/no)? yes
    52. Warning: Permanently added '192.168.151.151' (ECDSA) to the list of known hosts.
    53. root@192.168.151.151's password:
    54. Last login: Tue Nov 21 22:23:09 2023 from 192.168.151.1
    55. mount: /dev/sr0 写保护,将以只读方式挂载
    56. mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
    57. /dev/sr0 已经挂载到 /mnt/cdrom 上
    58. [root@localhost ~]#

     

     

     

                    

  • 相关阅读:
    go 地址 生成唯一索引 --chatGPT
    pthread_cancel引起程序段错误
    【数据结构】二叉树
    第三章 寄存器 (内存访问)
    iOS17.4获取UDID安装mobileconfig描述文件失败 提示“安全延迟进行中”问题 | 失窃设备保护
    CAS:122567-66-2_DSPE-生物素_DSPE-Biotin
    Ubuntu16.04离线安装socat
    C++异常
    android中的Bas64为何缺少 ==
    递归、搜索与回溯算法:综合练习
  • 原文地址:https://blog.csdn.net/weixin_73783595/article/details/134542750