在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");
答案 0 :(得分:7)
它looks like ChannelExec用于执行单个命令。但要获得完整的解释,请查看here。
因此你可以像这样重写代码:
Channel channel=session.openChannel("exec");
((ChannelExec)channel).setCommand("cd ../ && pwd && ls");
channel.connect();
channel.run();