当前位置: 首页 > 面试题库 >

如何与Java挂钩进入系统级期望?

夏侯昆琦
2023-03-14
问题内容

我刚刚发现了期望,一种基于tcl的脚本语言,用于自动进行telnet连接:

thufir@mordor:~/NetBeansProjects/expect$ 
thufir@mordor:~/NetBeansProjects/expect$ expect example rainmaker.wunderground.com 3000
spawn telnet rainmaker.wunderground.com 3000
Trying 38.102.137.140...
Connected to rainmaker.wunderground.com.
Escape character is '^]'.
------------------------------------------------------------------------------
*               Welcome to THE WEATHER UNDERGROUND telnet service!            *
------------------------------------------------------------------------------
*                                                                            *
*   National Weather Service information provided by Alden Electronics, Inc. *
*    and updated each minute as reports come in over our data feed.          *
*                                                                            *
*   **Note: If you cannot get past this opening screen, you must use a       *
*   different version of the "telnet" program--some of the ones for IBM      *
*   compatible PC's have a bug that prevents proper connection.              *
*                                                                            *
*           comments: jmasters@wunderground.com                              *
------------------------------------------------------------------------------

Press Return to continue:usage: send [args] string
    while executing
"send – – “\r”"
    (file "example" line 9)
thufir@mordor:~/NetBeansProjects/expect$

有哪些机制可以通过Java插入到Expect中,或者通过Java插入到Expect中?是的,有http://tcljava.sourceforge.net/以及其他一些,但是它们似乎已经过时了。

我敢肯定,如果Java中有tcl实现,为什么不行,那行得通。但是,由于缺乏网页更新,我推断没有任何东西可以完全实施…

维基百科说:

爪哇

expect4j — an attempt at a Java clone of the original Expect
ExpectJ — a Java implementation of the Unix expect utility
Expect-for-Java — pure Java implementation of the Expect tool

但是,expect4j表示这是一种尝试,ExpectJ自2010年以来就没有更改过,而且Java的Expect-for-Java也没有被触及多年。

如果使用了这些库并使其正常运行,我表示歉意,但是日期表明它们没有得到维护。

我宁愿分别使用Expect和Java,但要使它们交互。是否存在在两者之间传递消息的挂钩或机制?

-------------------------------------------------- ---------更新----------

**

Jacl是用Java编写的Tcl 8.x解释器。您可以在Tcl中编写Java应用程序的脚本。

**

http://wiki.tcl.tk/1215

但是,该库已经有一段时间没有被使用过了。我不太确定它的效果如何。我不知道它是否支持任何东西expect,似乎各种expect尝试都没有得到维护。

Donal Fellows的回答很可能是没有真正的解决方案,这是正确的。但是, 也许
可以使用此tcl库来启动telnet会话,调用真正的telnet,而不是通过进程生成器来启动,但这是非常尝试的。


问题答案:

我创建了另一个Java期望库ExpectIt(未在Wikipedia中列出),该库实现了交互循环。看这个例子。



 类似资料:
  • 无论您是想装系统、拯救文件还是破解密码等,您要做的第一步就是从U盘启动进入PE系统。 启动PE系统的关键操作顺序: 第一步:在开机时进入主板的启动项列表; 第二步:找到要启动的U盘,并辨别UEFI和Legeacy方式; 第三步:选择一个合适的WinPE系统版本进入。 第一步:在开机时进入主板的启动项列表 请将电脑关机,将微PE优盘插入到电脑后开机。然后在开机后的几秒内,当出现开机画面,按下快捷启动

  • 我试图创建一个简单的组件,从Apollo GraphQL服务器(查询)返回我的所有组织。我想从一个上下文状态呈现所有这些组织,在这个上下文状态下,在组件挂载(由useEffect挂钩处理)之后,可以使用分派方法放置这些组织。 如果状态结果(organizations数组)为空,useEffect钩子应该调用函数getOrganizations,然后调用自定义钩子useGetOrganization

  • 问题内容: 我正在尝试使用urllib2 http客户端在python中创建下载进度栏。我已经查看了API(以及Google),似乎urllib2不允许您注册进度挂钩。但是,较旧的不推荐使用的urllib确实具有此功能。 有谁知道如何使用urllib2创建进度条或报告挂钩?还是有一些其他的黑客来获得类似的功能? 问题答案: 这是一个完全有效的示例,它建立在Anurag响应中的分块方法的基础上。我的

  • 我似乎无法正确注册Jackson ObjectMapper模块。 我使用的是 Guice Jersey Jackson (FasterXML) 堆栈。 我在这里讨论了如何基于各种问题定制ObjectMapper。特别是,我声明了一个ContextResolver,标记为@javax.ws.rs.ext.Provider和@javax.inject.Singleton。 我有一个GuiceServl

  • 问题内容: 在Linux(X-windows)上安装键盘挂钩以触发某些应用程序的最佳方法是什么?不管运行哪个窗口管理器,有没有办法做到这一点?这样做的想法是,当按某些键(类似于Google桌面与Ctrl- Ctrl的方式)时,会调用一个应用程序(或使其成为前台)。 问题答案: 在根窗口上,是xbindkey的工作方式。不过,请谨慎使用一些其他方法来杀死争夺者,这很烦人,不得不进入某个地方进入自己的

  • 更新状态的正确方式是什么,是一个嵌套对象,在与钩子反应? 如何使用将更新为(附加字段)? (更改值)?