[Linux]交互式操作-Expect

Expect 是基于Tcl语言开发的,并被广泛应用于交互式操作和自动化测试的场景之中。http://expect.sourceforge.net/

一些命令:
spawn 用于生成一个子进程运行命令
expect 用于期待一个字符串的出现
send 就是模拟人工输入一个字符串
autoexpect 根据自身在运行时用户的操作而生成一个expect脚本

下面例子为:登录服务器并在/home/work/下建立ww目录

#!/usr/bin/expect
# 设置超时时间为10秒,expect期待时间
set timeout  10
set host 192.168.1.10
set name root
set password 111111
spawn  ssh $host -l $name
# 是否永久保存 RSA
expect
{
    "(yes/no)?"
    {
        send "yes\n"
        expect "password:"
        send "$pasword\n"
    }
    "password:"
    {
      send "$password\n"
    }
}
# root为"#",非root为"$"
expect "#"
send "sleep 1 &&cd /home/work/ &&mkdir ww && exit \r"
interact
exit
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容