的 NMAP工具具有这样的功能 - 当你执行扫描[#nmap -A -T4本地主机],然后按“Enter”键 - 它显示一种状态信息“时间:约6.17%完成”bash命令对一个proceess反复模拟按键
问题 - 我怎么能强制这个按键重复发生,而无需触摸Bourne shell中的键盘?
ps:试图找到解决php的proc_open函数中的错误的解决办法,只有在关闭标准输出管道后才返回进程的标准输出,而且php的pty模拟在fbsd上不起作用。
问题已关闭。问题解决了与“预期”实用
#!/usr/local/bin/expect
spawn /usr/local/bin/nmap -A -T4 -p 21-100 localhost
expect arting {sleep 3; send \r}
while {1} {
expect eof {
send_user "finished\n";
exit;
} "done;" {
sleep 3;
send \r;
continue;
}
}
你是否因为某些输出缓冲而犯规?也许尝试fflush()? –
是的,试过没有运气 – johnrembo
由于您确实使用了基于期望的解决方案,请选择他的答案作为帮助,为Douglas提供适当的奖励。这是很好的,你增加了你的解决方案的问题 - 谢谢你这样做。 –