程序媛跪求纯java实现SSH远程执行多条命令的方法,重点是多条命令,不是脚本~~

???????fly 2017-11-06 03:02:18
目前参照以下方法成功执行一条命令,但是。。。。。 需要多条执行,而且是在前一条的基础上!!百度有说用分号隔开,本鸟执行一下,完全卡主不动了就。。。。
本人菜鸟一枚,希望大神们不吝赐教

String command="hdfs dfs -put -f "+basePath + labelFilePath+" /user/hive/warehouse/dmp.db/saas_id_mapping_helper;"
public static String sshExecute(String host, String user, String pwd,
String command) {
StringBuffer sb = new StringBuffer();
try {
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, 22);
session.setPassword(pwd);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command);
InputStream in = channel.getInputStream();
channel.connect();
int nextChar;
while (true) {
while ((nextChar = in.read()) != -1) {
sb.append((char) nextChar);
}
if (channel.isClosed()) {
System.out.println("exit-status: "
+ channel.getExitStatus());
break;
}
try {
Thread.sleep(1000);
} catch (Exception ee) {
}
}
channel.disconnect();
session.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();

}
...全文
536 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Embrace_W 2018-12-11
  • 打赏
  • 举报
回复
推荐你换一个ssh连接方式
https://blog.csdn.net/qq_34466488/article/details/81866350

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧