在linux终端中与java不同的CLI上执行命令

在linux终端中与java不同的CLI上执行命令,java,command-line-interface,Java,Command Line Interface,我有一个用例,在这个用例中,我必须连接到CLI并使用java在该CLI中执行命令。通常不使用java,我通过打开linux终端并连接到其他CLI并在那里执行命令来实现。我必须使用Java实现同样的功能。我能够使用Runtime.getRuntime().exec()在linux终端上运行命令。但是,在使用Java从linux终端连接到特定CLI之后,我需要一些帮助来执行命令。我想您是在问如何使用。我本想警告您,这可能比您要讨价还价的要复杂得多,但一个简短的搜索显示了可能会有所帮助的问题。当您使用

我有一个用例,在这个用例中,我必须连接到CLI并使用java在该CLI中执行命令。通常不使用java,我通过打开linux终端并连接到其他CLI并在那里执行命令来实现。我必须使用Java实现同样的功能。我能够使用Runtime.getRuntime().exec()在linux终端上运行命令。但是,在使用Java从linux终端连接到特定CLI之后,我需要一些帮助来执行命令。我想您是在问如何使用。我本想警告您,这可能比您要讨价还价的要复杂得多,但一个简短的搜索显示了可能会有所帮助的问题。

当您使用
Runtime.exec()
运行外部程序时,它会返回一个可用于与正在运行的进程交互的对象。该对象有一个
getOutputStream()
方法,可以用来向进程发送命令,还有,
getInputStream()
getErrorStream()
方法,可以用来读取进程生成的消息。

连接到其他CLI-你的意思是使用telnet或ssh?你的问题是什么?例如(在我的例子中是不同的CLI),让我们使用配置单元CLI。我可以通过linux终端访问配置单元CLI。我可以在linux终端上使用java执行类似“ls-l”的命令。但是,如果我想执行“show databases”命令,我必须登录到linux终端并连接到hive cli和exexute。我想使用Java执行此Show databases命令感谢您的响应。我知道这一点,但我正在尝试寻找其他方法。现在,我找到了解决问题的方法。谢谢大家