开发者社区 问答 正文

jsch 执行命令。能分次执行么?

jsch 执行命令。能分次执行么。执行多个命令。但不是 setCommand("ls;cd /;pwd;ls")这样的

展开
收起
云栖技术 2016-06-06 13:47:47 6819 分享 版权
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!

    答案当然是可以的,jsch中有如下类:
    public abstract class Channel();
    public class ChannelShell() extends Channel;
    使用ChannelShell可以用来执行多条命令,可以通过以下语句创建ChannelShell实例:
    ChannelShell channel = (ChannelShell)session.openChannel("shell");
    然后给ChannelShell设置对应的InputStream和OutputStream,即可以通过OutputStream方法给远端发送命令,通过InputStream从远端读取命令:
    channel.setInputStream(InputStream);
    channel.setOutputStream(OutputStream);
    之后的问题就是字符编码和IO对象的问题了。

    2019-07-17 19:28:24
    赞同 展开评论
问答地址: