发送一个string到terminal程序

需要知道是否可以向程序发送一串命令。

该程序被称为Dynamips,

我启动程序后,出现“ – >”

我想发送到terminal的命令是“开始R1”和“开始R2”你得到的图片。

也想知道它是否可以睡5秒,然后发送第二个string。

我确实试图回应它,但回声只有在你退出程序时才会出现。

有任何想法吗

问候

你可以使用expect程序。

这是一个示例脚本:

 spawn /path/to/program/Dynamips expect -- "->" send "start R1\r" expect -- "->" { sleep 5 send "start R2\r" } expect eof 

你可以用下面的方法调用它:

 expect scriptname 

如果你比Perl更适合使用Perl,那么Expect也可以作为Perl模块使用。

使用Perl Expect模块的简单代码片段可能如下所示:

 my $bob = Expect->new("bob_program"); $bob->expect(1, "Hullo!"); $bob->send("Hi!\r"); $bob->expect(1, "Bye!"); $bob->send("Later!\r"); $bob->soft_close(); 

我已经与期待/ TCL和Perl,我不得不说,我更喜欢Perl。 如果你还不知道的话,TCL有点烦人。