我正在尝试使用JSch通过SSH运行命令,但是JSch实际上没有文档,我发现的示例很糟糕。例如,此代码不显示用于处理输出流的代码。而且,这使用了一个丑陋的技巧来知道何时停止从输出流中读取。
3 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
这是一个无耻的插件,但是我现在正在为JSch 编写一些扩展的Javadoc。
另外,JSch Wiki中现在有一个手册(主要由我编写)。
关于原始问题,实际上并没有处理流的示例。读取/写入流一如既往地完成。
但是,仅通过读取Shell的输出(这与SSH协议无关),根本无法确定一种方法来知道Shell中的一个命令何时完成。
如果外壳是交互式的,即连接了终端,则通常会打印一个提示,您可以尝试识别该提示。但是至少从理论上讲,此提示字符串也可能出现在命令的正常输出中。如果要确定,请exec为每个命令打开单独的通道,而不要使用Shell通道。我认为,shell通道主要用于人类用户的交互使用。
添加回答
举报
0/150
提交
取消