脚本示例:
#! /usr/bin/expect -f ///-f 自动给脚本文件加执行权限
- set timeout 10
- spawn ssh -l username 192.168.1.1 ###spawn是进入expect环境后才可以执行到expect内部命令,主要是给ssh加个壳,用来传递交互命令
- expect "password" ###expect也是expect环境中到内部命令,判断上次输出结果是否包含“password” 字符串,有则立即返回,没有则等待10秒
- send "ispass\r" ###send执行交互式动作,与手工输入密码到动作一样结尾要加“\r”
- send "ls\r"
- send "exit\r" ###登录到远程服务器后,要自动退出,要写在interact前面
- interact ###interact执行完成后,保持交互状态,把控制权交给控制台,这是可手工操作,没有它执行完成后,不停留在终端上。