TimelessFaith 2010-10-22
在linux下经常需要一些自动化执行的脚本,
有可能需要用到某些要求人工输入确认的地方
(如rm之类的操作)
expect是较为方便的一个工具
但是若过度使用expect,有可能对某些并不需要输入确认的操作也进行expect,
从而导致相应的输出被expect吞没
因此需要对expect的操作进行具体的判断
并且设置合适的超时时间
一旦expect结束,马上interact将控制权交回
set timeout 100 eval spawn $input $argv if {$argc >= 2} { set cmd [lindex $argv 1] if {$cmd == "-rmr" || $cmd =="-rm"} { expect "some information?$" { send "y\n" ; interact } } else { interact } } else { interact }