码迷,mamicode.com
首页 > 其他好文 > 详细

expect实现远程用户交互式登录

时间:2015-08-28 02:27:09      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:expect sehll 自动化

    小毛毛初拥expect

 

前几天在写脚本的时候我有一个功能是想切换用户,让他自动输入密码。实现交互式的登陆。发现了expect这个工具。但是从来没有用过,所以也是出了很多问题。今天就来总结下!希望以后同样是新手的朋友不再走弯路。

 

1.             首先确认expect的包要安装成功


我用的centos6.5 yum 安装的。

技术分享


2.查看expect的路径,可以用


技术分享

 

3.确定脚本有可执行权限

 

      chmod +x expect.sh

 

 

#!/usr/bin/expect     这个路径就是which查看的路径。

set timeout 10                                这个是等待超时时间10秒钟

set  user  root                                  设置用户变量。变量名:user  变量值:root

set   ip    "192.168.1.129"                设置变量。变量名字为“ip”    变量值为192.168.1.129

set passwd "123456."                      设置密码变量。

spawn ssh     –l  $user    $ip            spawnexpect的内置命令,用来执行命令    

expect   "password:"                         expect也是expect这个软件的内置变量。用来抓取字段

send "$passwd\r"                             输入密码。 温馨提示:命令字符串结尾别忘记加上“/r”

interact                                              如果要在远程执行操作,这个必须要注意。执行完成后保持交互状态,而不是退出远程终端。~         

 

4.另外需要注意的是:

不能按照习惯来用sh expect.sh来这行expect的程序,会提示找不到命令,如下:


技术分享

 

因为expect用的不是bash所以会报错。执行的时候直接./expect.sh就可以了。~切记


本文出自 “沙漠骆驼” 博客,请务必保留此出处http://maomaochong.blog.51cto.com/9260445/1689071

expect实现远程用户交互式登录

标签:expect sehll 自动化

原文地址:http://maomaochong.blog.51cto.com/9260445/1689071

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!