Expect常用命令
set: 设置变量
spawn:启动新的进程
send: 用于向进程发送字符串
expect1.1> send "hello world\r"expect:从进程接收字符串,和send相反
从进程监测指定的字符串,如果一直接收不到,则会一直等待,除非设置了timeout
interact:允许用户交互
wait
实例:MacOS远程SCP文件到Linux服务器
#!/usr/bin/expect
set user root
set pass 123456
set prot 22
set host 192.168.1.11
set sour /root/redis.conf
set dest /etc/redis/redis.conf
spawn scp ${sour} ${user}@${host}:${dest}
set timeout 30
expect "${user}@${host}'s password:"
set timeout 30
send "${pass}\n"
set timeout 30
send "exit\n"
expect eof