程序媛跪求纯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();

}
...全文
345 1 点赞 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Embrace_W 2018-12-11
推荐你换一个ssh连接方式
https://blog.csdn.net/qq_34466488/article/details/81866350
  • 打赏
  • 举报
回复
相关推荐
发帖
Java
加入

4.8w+

社区成员

Java相关技术讨论
申请成为版主
帖子事件
创建了帖子
2017-11-06 03:02
社区公告
暂无公告