预期脚本中的多个生成

时间:2017-07-12 14:57:23

标签: ssh expect

我开始新学习预期的脚本。你能不能理解以下代码中发生的事情。

有一个名为one.exp的文件,代码如下

#!/usr/bin/expect  
global slawn_id  
set timeout -1  
spawn NoPktdrop.exp  
spawn perl NoPktDrop.pl NoPktDrop
spawn NoPktDrop.exp  
spawn perl NoPktDrop.pl  NoPktDrop  
interact   

the code of NoPktdrop.exp is as follows.

#!/usr/bin/expect
set timeout -1  
while {1} {  
spawn telnet  server  
sleep 1  
expect {  
    "Escape character" {  
            send "\r"  
            expect "SP*>*%"  

            break
       } 
       "Connection refused" {  
                break  

        }  
    }  
}
           send "\x1D"  
            expect "telnet> "  
             send "q\r"  
            expect "Connection*%"  

和perl脚本有一些代码。

我需要先执行expect脚本,然后在生成NoPktDroplog之后,需要将日志提供给perl脚本进行一些检查。由于某些原因,我需要重复它。但我看到预期的脚本没有被执行。只执行perl脚本。请让我知道原因。

1 个答案:

答案 0 :(得分:0)

spawn NoPktdrop.exp  
spawn perl NoPktDrop.pl NoPktDrop
spawn NoPktDrop.exp  
spawn perl NoPktDrop.pl  NoPktDrop  
interact

更改了上面的代码,如下所示。然后它奏效了。不确定原因。感谢。

spawn NoPktdrop.exp  
expect eop
spawn perl NoPktDrop.pl NoPktDrop
expect eop
spawn NoPktDrop.exp 
expect eop 
spawn perl NoPktDrop.pl  NoPktDrop  
expect eop
相关问题