连接服务器的脚本

对于记不住的服务器密码且不愿用三方工具俺简单写了个脚本(检测下最近shell脚本的学习效果咋样)

expect 是处理交互的一种脚本语言,spawn启动指定进程 -> expect获取指定关键字 -> send想指定进程发送指定指令 -> 执行完成后退出

  • spawn 命令,启动新的交互进程, 后面跟命令或者指定程序
  • expect 命令,从进程中接收信息, 如果匹配成功, 就执行expect后的动作
  • send 命令,向进程发送字符串
  • interact 命令,允许人为干预交互
  • set 设置变量的值
  • puts 输出变量的值

1、安装该工具

linux

yum install expect

mac

 brew install expect

2、脚本内容

 #!/usr/bin/expectset web1 服务器1ip
 set web2 服务器2ip
 ​
 puts "服务器列表"
 puts "1. 服务器1备注名称"
 puts "2. 服务器2备注名称"set timeout -1
 expect_user -re "(.*)\n"set num $expect_out(1,string)
 ​
 switch -exact -- $num {
     1 {
        spawn ssh root@$web1
        expect "password:"
        send "服务器1密码\r"
        interact
    }
     2 {
        spawn ssh root@$web2
        expect "password:"
        send "服务器2密码\r"
        interact
    }
    default {
        puts "输入序号错误"
    }
 }

使用

gwh@GWdeMacBook-Pro [19:16:08] [~/Desktop]
-> % expect jumpServer.exp
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值