需要知道是否可以向程序发送一串命令。
该程序被称为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有点烦人。