背景:需要自动创建nvc的登录密码
sudo apt-get install expect
expect 是由Don Libes基于Tcl(Tool Command Language )语言开发的,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率
spawn:交互程序开始后面跟命令或者指定程序
send:用于向进程发送字符串
expect:获取匹配信息匹配成功则执行expect后面的程序动作
eof:expect执行结束 退出
bash
#!/usr/bin/expect
spawn "/home/cached_data/auto_analy_base_config/TurboVNC/bin/vncpasswd"
expect "Password*"
send "123456\n"
expect "Verify*"
send "123456\n"
expect "Would*"
send "n\n"
expect eof