前言:使用ssh登录内网服务器,每次都要输入以下命令,次数多了就感觉很麻烦。
zrj@zrj:~$ ssh root@192.168.1.9
root@192.168.1.9's password:
现在,我们可以使用Expect实现复杂的交互过程。
Expect是一个用来处理交互的命令。
expect常用的四个命令:
-
spawn 启动新的进程
-
expect 从进程接收字符串
-
send 用于向进程发送字符串
- interact 允许用户交互
使用expect
1、 安装
zrj@zrj:~$ sudo apt-get install expect
2、获取expect执行路径
zrj@zrj:~$ which expect
/usr/bin/expect
3、编写脚本
zrj@zrj:~$ cd ~
zrj@zrj:~$ touch logindev
zrj@zrj:~$ vim logindev
#!/usr/bin/expect
#启动新进程
spawn ssh root@192.168.1.9
#从进程接收字符串
expect "*password:"
#向进程发送字符串
send "yourpassword\r"
#允许用户交互
interact
保存,并给赋予执行权限
zrj@zrj:~$ chmod +x ./logindev
4、运行脚本
zrj@zrj:~$./logindev
转载于:https://blog.51cto.com/phpme/2338610