shell登录 脚本 expect

作用

工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。
利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行
“模式-动作”,expect 匹配到一个模式,就执行对应的动作

常用命令

  • spawn
    *spawn命令用来启动新的进程,spawn后的send和expect命令都是和使用spawn打开的进程进行交互
  • expect 匹配模式
    *expect等待一个进程的反馈,我们根据进程的反馈,再发送对应的交互命令
  • send
    *send命令将字符串(可以是变量)发送到进程
  • 表示确认操作或者换行
  • 注意空格
  • interact
    *interact用于退出自动化,进入人工交互
#! /usr/bin/expect -f
set user  //设置变量
set host 
set password

spawn ssh $user@$host
expect "*password:*"
send "$password
"
interact
expect eof
原文地址:https://www.cnblogs.com/eatandsleep/p/12201855.html