参数说明:
set:可以设置超时,也可以设置变量
timeout:expect超时等待时间,默认10S
spawn:执行一个命令
expect "":匹配输出的内容
exp_continue:继续执行下面匹配
:可以理解为回车
$argc:统计位置参数数量
[lindex $argv 0]:脚本后第一个参数,类似于shell中$1,以此类推
puts:打印字符串,类似于echo
awk -v I="$ip":赋值变量
expect{...}:输入多行记录
其他参数说明:
imeout -1:永不超时退出
log_file /var/log/expect.log:记录交互信息,一般crontab时使用
interact:交互后不退出远程终端,如果加要把expect "root@*" {send "exit "}注释掉,如果不加,就直接退出
将spawn ssh root@$ip换成spawn ssh -o StrictHostKeyChecking=no root@ip既不会再提示是否将服务器计算机密钥加入本地known_hosts