我正在尝试使用JSch库执行一系列命令,所有内容都使用SSH:
但这不起作用,看看我的代码是否平静:
Channel channel = session.openChannel("exec");
//Enter in directory to download
String cdCommand ="cd /root/downloads/";
((ChannelExec) channel).setCommand(cdCommand);
//Execute wget command
String wgetCommand = "wget "+linkDownload;
((ChannelExec) channel).setCommand(wgetCommand);
// exec 'scp -f rfile' remotely
String command = "scp -f " + rfile;
((ChannelExec) channel).setCommand(command);
// get I/O streams for remote scp
OutputStream out = channel.getOutputStream();
InputStream in = channel.getInputStream();
channel.connect();
答案 0 :(得分:0)
channel.connect()
正在执行您提供给它的最后一个命令。您需要为要运行的每个命令创建一个新的通道exec / connect。您还应该打开/检索错误流,因为在这种情况下它可能显示错误。