资料来源:

(1) https://baike.baidu.com/item/expect/4598715?fr=aladdin

(2) https://blog.csdn.net/gsjthxy/article/details/123441100?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165568847216781685354744%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165568847216781685354744&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-123441100-null-null.nonecase&utm_term=%E8%87%AA%E5%8A%A8%E5%88%87%E6%8D%A2&spm=1018.2226.3001.4450

(3) https://www.cnblogs.com/liyuanhong/articles/10390785.html

(4) https://blog.csdn.net/three_man/article/details/45153441

1.linux中自动切换项目账户

1 #!/usr/bin/expect
2
3 spawn su user_name //其中,user_name为用户名,需要进行替换;
4 expect "Input Password:" //其中,"Input Password:"为linux terminal上执行su操作而打印的信息,根据实际情况进行替换操作;
5 send "user_password\r" //其中,user_password为用户密码,需要进行替换;
6 interact

2.linux中自动登录远程服务器

1 #!/usr/bin/expect
2
3 set timeout 60
4 spawn ssh 远程服务器信息 //远程服务器信息需要进行替换;
5 expect "password:" //password需要用ssh远程服务器时屏幕所打印的实际信息进行替换;
6 send "user_password\r" //user_password需要用用户密码进行替换:
7 interact

3.带命令行参数的expect脚本

#! /usr/bin/expect

set ip [lindex $argv 0];
set username [lindex $argv 1];
set password [lindex $argv 2]; set key_init "*yes/no*"
set key_password "[Pp]assword:"
set timeout 30
set prompt "(#|%|\\$) $" spawn ssh ${username}@${ip} expect {
"$key_init" {
send "yes\r"
expect "$key_password" {
send "${password}\r"
}
} "$key_password" { send "${password}\r" } timeout { puts "Timed out during login"; exit 1 }
} expect -re "$prompt"
send "exit\r"
expect eof { send_user "eof\r" }
————————————————
版权声明:本文为CSDN博主「three_man」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/three_man/article/details/45153441

expect语言使用之自动切换账户或自动登录远程服务器的更多相关文章

  1. 用Python写个自动ssh登录远程服务器的小工具

    很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的 ...

  2. linux自动备份文件 并上传到远程服务器 脚本实现

    (1)在服务器上创建备份目录,并赋予权限       mkdir -p /backup/bakdata  #新建数据备份目录(2)完成备份脚本操作新建脚本文件      vi bakdata.sh添加 ...

  3. SQL Server自动备份 备份到本地或者远程服务器

    0.1 在SQLServer2008 --> 备份数据库 --> 安全 --> 新建用户 --> 用户名 选择该windows用户 (确保 --> 机器名/人名 --&g ...

  4. mac 操作系统使用iterm(2)自动登录远程服务器

    找一个目录创建一个普通的文件,例如 vi myprofile ,编辑以下内容 #!/usr/bin/expect set PORT 22 set HOST www.****.com(或者ip地址) s ...

  5. [整理]配置SSH密钥自动登录远程服务器

    原理: 公钥私钥匹配通过验证,允许访问服务器. 简单步骤: 1.在本地创建一对密钥 2.将公钥传到需要访问的服务器上 3.将公钥放入服务器的authorized_keys,确保访问时能通过验证 4.本 ...

  6. Linux下使用expect实现跳板机自动跳转/免密登录/自动登录(转)

    shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:&quo ...

  7. 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计

    前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构. 架构简介 此架构主要是由ke ...

  8. Linux登录自动切换root账户与历史命令优化

    1:当我们Linux系统优化完成,会使用oldboy用户远程连接CRT登录,每次连接都需要使用sudo su - 或者su - 输入密码登录,请问如何在CRT连接的时候自动的切换到root账户,(提示 ...

  9. 页面多语系自动切换-.resx

    实现这个需要应用到微软提供的本地资源文件Resources,实际上就是一种key  value的形式. 语言自动切换原理有两种 读取浏览器的语言首选项 根据IP网段进行识别.比如有的人通过VPN连接到 ...

  10. 【转】expect语言学习笔记

       上周mentor要求我写一个unix shell 脚本, 以便半夜让服务器自动编译image. 其实我觉得每天我走的时候让服务器编译不也挺好的么... 我懒,假装没听见好不容易赖过去了.     ...

随机推荐

  1. js/jquery 所有页面点击事件(持续更新)

    // 切换菜单 <div class="box">                <div class="box-item" id=" ...

  2. vue element-ui table 实现自动滚动效果

    <el-table :data="tableData" stripe class="swiper-page-table" ref="table& ...

  3. mac系统上hdfs java api的简单使用

    目录 1.背景 2.环境准备 3.环境搭建 3.1 引入jar包 3.2 引入log4j.properties配置文件 3.3 初始化Hadoop Api 4.java api操作 4.1 创建目录 ...

  4. Django-drf-序列化器高级用法之SerializerMethodField

    在Drf框架中的serializers.py序列化中, SerializerMethodField字段是一个只读字段.它通过调用附加到的序列化程序类上的方法来获取其值.它可用于将任何类型的数据添加到对 ...

  5. CF468E Permanent 题解

    考虑暴力状压 DP. 按行 DP,记录列哪些被选过,可以做到 \(O(2^kk^2)\). 注意到某一列扫完了之后这一列选没选过不重要,可以减少这里的状态. 简单优化一下,每次选择最少的一列,使这一列 ...

  6. vue框架回顾

  7. ubuntu18 电脑重启后登录后无法进入桌面

    ubuntu18 电脑重启后登录后无法进入桌面 应该是ubuntu桌面管理器gdm3和nvidia驱动冲突导致的 解决办法: 首先卸载已有的nvidia驱动 注意:在下载完驱动后,此时电脑没有驱动文件 ...

  8. disabled属性的简介和使用

    一.disabled属性的简介和使用 Html中的input元素.button元素.option元素等都具有一个disabled属性. disabled对a标签不起作用当赋予该属性时该元素将变得不可交 ...

  9. iOS开发之桌面快捷方式Quick Actions

    长按桌面APPIcon图标快捷操作添加功能开发 在支持 3D Touch 的设备上,Quick Actions 可以让用户更快,更少的操作步骤去完成他们最常做的事情,其中这么多操作可以通过主屏幕直接完 ...

  10. 题解[LuoguP5591]小猪佩奇学数学

    题解[LuoguP5591]小猪佩奇学数学 前置知识 基本数论推式子能力,如分配律结合律等 等比数列求和 \(\sum_{i=a}^bx^i=\dfrac{x^{b+1}-x^a}{x-1}\) 二项 ...