资料来源:

(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

最新文章

  1. Linux学习笔记(16)-多线程
  2. 原生JS下拉加载插件分享。
  3. pip和requests模块的安装
  4. C++ 之const Member Functions
  5. 大数据之sqoop
  6. as 和 is 区别
  7. NABCD——竞争性需求分析的框架
  8. HDU 2717 Catch That Cow --- BFS
  9. Android之天气APP
  10. wcf-1
  11. BZOJ2739 最远点(分治 + 决策单调性)
  12. Ubuntu 12.04 LTS下logomaker的安装
  13. 斯坦福大学IOS开发课程笔记(第七课第一部分)
  14. JS中通过call方法实现继承
  15. Android开发学习之路--RxAndroid之操作符
  16. 前端面试必备的css盒子模型
  17. 关于base64转码解码
  18. hdu5686大数斐波那契
  19. P1966 火柴排队
  20. 11g R2 RAC 虚拟机

热门文章

  1. CCRD_TOC_2008年第11期
  2. LeetCode 39. 组合总和 40.组合总和II 131.分割回文串
  3. C# 时间各种格式
  4. .net webapi+jwt demo
  5. OpenLayers结合Turf实现空间运算
  6. PostgreSQL处理膨胀与事务回卷
  7. C#/.net程序调用python
  8. Linux 磁盘扩容
  9. JavaWeb 之 Cookie
  10. SAP 交货单抬头客制化界面以及字段