Jsch可以执行第三方linux shell吗?

时间:2014-07-28 07:26:05

标签: java jsch

我已成功使用jsch来执行linux系统shell,如“ls; pwd”。现在我想知道Jsch可以像“clish”那样执行一些第三方linux shell吗?

1 个答案:

答案 0 :(得分:0)

我不明白为什么Jsch拒绝执行命令。在我的测试中,任何命令(只有cli命令而不是XWindow!)都能正常工作。我甚至可以启动vi(当然有丑陋的输出......),正确退出并使用^D从shell注销。

我能识别的唯一问题是时机。 Jsch就像任何其他bedirectionnal工具:它允许你写和读,但你必须等待命令已完成其输出读取,当然还要关闭通道。如果没有,您将找到一个空输出(或只有登录标题),并在服务器上的命令开始之前关闭通信。

这可以解释为什么当你将inputStream连接到System.in时它可以工作,因为那样,你等待一个命令的输出键入以下内容。

您可以尝试在代码中添加延迟以进行确认。