装包:yum -y install expect
spawn:运行某个命令,并监控命令提出的监控问题
expect:用于执行交互命令
send:发送答案给交互命令
"\r":回车
exp_continue:循环匹配下一条需要执行的交互命令
expect eof:问题回答完毕退出expect环境
interact:问题回答完毕留在交互界面
写法一,sh + expect
#!/bin/bash
/usr/bin/expect <<EOF
spawn ssh-keygen
expect {
"(/root/.ssh/id_rsa):" {send "\r";exp_continue}
"(empty for no passphrase):" {send "\r";exp_continue}
"again:" {send "\r"}
}
expect eof
EOF
写法二,直接expect,+执行权限
#!/usr/bin/expect
spawn ssh-keygen
expect {
"(/root/.ssh/id_rsa):" {send "\r";exp_continue}
"(empty for no passphrase):" {send "\r";exp_continue}
"again:" {send "\r"}
}
interact