十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。
在shell脚本中利用expect实现自动应答
上一篇 /
下一篇 2012-01-13 18:15:37
/ 个人分类:liunx相关
要交互的脚本(talk.sh)如下:
#!/bin/bash
echo "Who are you?"
read who
echo "Hello,$who"
echo "Are you happy?"
read answer
echo "why?"
read answer
实现自动应答的脚本auto.sh如下:
#!/bin/bash
expect<<- END
spawn ./talk.sh
expect "who"
send "firefly\n"
expect "happy?"
send "Yes,I am happy.\n"
expect "why?"
send "Because it worked!\n"
expect eof
exit
END
执行auto.sh后可以看到自动交互如下:
spawn ./talk.sh
Who are you?
firefly
Hello,firefly
Are you happy?
Yes,I am happy.
why?
Because it worked!
目前只用到了expect最基本的用法,不过对用脚本实现自动化已经很有用了
-------------------------------------------------------------------------------------------------
expect 实现su root:
#!/usr/bin/expect
#created by neilzhao of linpus corp.
set passwd 111111
spawn su
expect "Password:"
send "$passwd\n"
interact
收藏
举报
TAG: