1

在 jsch 中,如果我们发出命令cd ../ && pwd并且结果是/home。下次如果我执行命令ls,jsch 会输出我的内容。/home我确实希望如此..

          Channel channel=session.openChannel("exec"); 
          ((ChannelExec)channel).setCommand("cd ../ && pwd");

          channel.connect();
          channel.run();

          ((ChannelExec)channel).setCommand("ls");
4

1 回答 1

8

看起来ChannelExec 的目的是执行单个命令。但完整的解释请看这里

因此,您可以像这样重写代码:

Channel channel=session.openChannel("exec"); 
((ChannelExec)channel).setCommand("cd ../ && pwd && ls");
channel.connect();
channel.run();
于 2012-10-24T09:54:57.107 回答