使用spawn和expect实现自动交互

有时候我们使用命令行进行交互时,不想频繁的做一些重复的事情,例如:每次ssh远程登录时都需要输入密码。使用spawn和expect可以自动完成一些交互。

一个自动输入密码的简单脚本

#!/usr/bin/expect

set login_name  "user name"
set login_host  "host's ip"
set password    "guess what"

spawn ssh $login_name@$login_host
expect {
        "(yes/no)" { send "yes\r"; exp_continue }
        "password:" { send "$password\r" }
}
#expect $login_name@*   {send "ls\r" }  ;
interact

阅读原文 | 作者官网 | 公众号 | Feed | 订阅 | 发私信

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 请不要转载 背景介绍 Expect 程序主要用于人机对话的模拟,就是那种系统提问,人来回答 yes/no ,或者账...
    羽风之歌阅读 53,666评论 12 46
  • 搜索expect相关文章,你多半会遇到上述这段代码示例,具体我就不一行行讲述了,请参加:https://www.c...
    风千寻艾阅读 4,117评论 1 3
  • 夜半霜降采茯苓, 月拢寒风至天明。 奈何终无栖身处, 宿在城外望远京。 新发的随笔,前面的连载虽然只有一篇,但是我...
    牖宬阅读 229评论 0 2
  • 浣溪沙--荷 程勇 荷叶盛势满塘春,玉环冰清拟情真。...
    梦轩居士阅读 254评论 0 3