JAVA shell export_Java 远程调用Shell

Java 远程调用Shell

上一篇 /

下一篇  2014-01-21 13:29:22

/ 个人分类:Java

Remote Shell Scripts need to export the ENV variable again.

public class JavaRemoteRunShell {

private Connection conn;

private String ipAddr;

private String charset = Charset.defaultCharset().toString();

private String userName;

private String password;

public JavaRemoteRunShell(String ipAddr, String userName, String password, String charset) {

this.ipAddr = ipAddr;

this.userName = userName;

this.password = password;

if(charset != null) {

this.charset = charset;

}

}

public boolean login() throws IOException {

conn = new Connection(ipAddr);

conn.connect(); //

return conn.authenticateWithPassword(userName, password); //

}

public String exec(String cmds) {

InputStream in = null;

String result = "";

try {

if (this.login()) {

Session session = conn.openSession(); // open one session

session.execCommand(cmds);

in = session.getStdout();

result = this.processStdout(in, this.charset);

System.out.println(result);

System.out.println("ExitCode: " + session.getExitStatus());

session.close();

conn.close();

}

} catch (IOException e1) {

e1.printStackTrace();

}

return result;

}

public String processStdout(InputStream in, String charset) {

byte[] buf = new byte[1024];

StringBuffer sb = new StringBuffer();

try {

while (in.read(buf) != -1) {

sb.append(new String(buf, charset));

}

} catch (IOException e) {

e.printStackTrace();

}

return sb.toString();

}

public static void lsViaSSH(String hostname, String username, String password) throws Exception {

Connection conn = new Connection(hostname);

conn.connect();

boolean isAuthenticated = conn.authenticateWithPassword(username, password);

System.out.println(isAuthenticated);

if (isAuthenticated = true){

Session sess = conn.openSession();

sess.execCommand("sh test.sh " );

InputStream stdout = new StreamGobbler(sess.getStdout());

BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

sess.close();

conn.close();

}

}

public static void main(String[] args ) throws Exception{

String ipAddr = "127.0.0.1";

String userName = "test";

String password = "password";

String charset = Charset.defaultCharset().toString();

JavaRemoteRunShell c = new JavaRemoteRunShell( ipAddr,  userName,  password,  charset);

c.login();

String cmd1="sh test.sh";

System.out.println(c.exec(cmd1));

}

}

TAG:

我来说两句

显示全部

d8a3dac35532145b347031a8fb402eba.gif

4d73fc83cb27b31041650c043e06fdc8.gif

5d06f4dc9b08a7e1fecdedaf9fe87c66.gif

659391f05d11818e0d3bd694a6d99ddc.gif

f27d7d9f67d98cc858fe74ff4d76554e.gif

b0d82b880d66765dd2a1af173b20f406.gif

e87f042c31e114675541bb49e0fbf138.gif

97a372eda248bf63679ecf2d47467589.gif

a14a392968e29ace4cb2ca390d53264e.gif

ff31a40db0d852c3704276b17a1dd158.gif

46298ad80746c3790e9535ce3396efec.gif

ef97f2303f935b723744c0c99db267f8.gif

46add61d58ae5b455d8994b1485357d3.gif

701ffdce43c5ac45c241dba6a7ae431d.gif

4ac0c1a50de5d21a8087006d0295547a.gif

e54bbadbdbb00b0b5cc4182352ca2352.gif

afb655844bdfda4cf47fef6d239f009d.gif

bf5c12b671f1179ba425de53370ebd3d.gif

865ad24093d248b0ec3b85ea66a6aaa7.gif

ab80f8b6419577f8a8ad7bb690794024.gif

内容

昵称

验证

ada834077f6a48ad60a11ec0354fde86.png

提交评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jsch mysql_java JDBC 连接MySql

Java连接数据库(以MySQL为例)2007-04-05 02:23 这篇文章主要以MySQL为例讲下Java如何连接到数据库的。当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载…

linux java 环境配置_linux下java开发环境配置

jdk1 下载jdk:jdk-6u22-linux-i586.bin2 增加可执行权限:chmod x jdk-6u22-linux-i586.bin3 复制到/usr下sudo cp jdk-6u22-linux-i586.bin /usr4 执行./jdk-6u22-linux-i586.bin5 设置环境变量vi ~/.bashrc在最后加入:#set java enviromentexport JAVA_HOME/usr/jdk1.6.0_22ex…

java阻塞锁_java – 阻止锁与非阻塞锁

以下是Java Concurrency in Practice关于该主题的内容:The JVM can implement blocking either via spin-waiting (repeatedlytrying to acquire the lock until it succeeds) or bysuspending theblocked thread through the operating system. Which is more effi…

python内存管理机制_python内存管理机制

python内存管理机制:引用计数垃圾回收(引用计数,标记清除,分带回收)内存池1. 引用计数当一个python对象被引用时 其引用计数增加 1 ; 当其不再被变量引用时 引用计数减 1 ; 当对象引用计数等于 0 时, 对象被删除(引用计数是一种非常高效的内存管理机制)增…

java 大文件下载_Java大文件下载不全问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼各位同学好,目前碰到一个问题,Java平台下载大文件下载一部分就结束不能全部下载,有可能是网络问题造成下载中断,请问大家有什么解决办法吗,或者有遇到类似问题的一起讨论一…

java告警系统设计_告警系统的设计

现在告警系统可以说是系统的必备部分,只要有监控,就需要一个告警系统来帮忙主动推送消息,以此减少人不停的主动查看监控的作用。在最初的告警系统中,基本主要就是设置阈值,达到阈值就发生告警。这个在机器数量少的时候…

java 接口和虚构_深入理解Java的接口和抽象类

深入理解Java的接口和抽象类对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用…

JAVA不同类型数组重载_JAVA补课-DAY1:方法重载和数组

IDEA简单方法使用快捷键CtrlAltL&#xff0c;IDEA代码格式化Ctrl/单行注释&#xff0c;重复按取消CtrlShift/多行注释&#xff0c;重复可取消5.fori<>for (int i 0; i < 5; i)本日重点方法重载(overload)/*方法重载(Overload)&#xff0c;多个方法名称相同&#xff0…

Java 接受reactjs数据_ReactJS:从API获取数据

我在使用简单的标准模板获取API数据的React应用程序中从API获取数据时遇到了困难 . 控制台日志返回的结果是空白数组 .import React, {Component} from react;import ./App.css;import Chart from ./components/chartconst API_URL "http://ergast.com/api/f1/2016/1/res…

java 串的顺序存储_算法入门之串的顺序存储表示

串&#xff0c;即字符串。计算机上的非数值处理的对象基本上是字符串数据。但是&#xff0c;由于现在我们使用的计算机硬件结构主要是反映数值计算的需要的&#xff0c;在处理字符串数据时比处理整数和浮点数要复杂的多。而且&#xff0c;对于不同类型程序&#xff0c;所处理的…

华为s2600t java_华为S2600T存储+华为RH2288H V3服务器

面对复杂多变的国际形势和国内艰巨繁重的改革发展稳定任务&#xff0c;维持稳定就显得格外重要。平安城市视频监控建设项目为了保证城市交通和城市治安的安全&#xff0c;需要对人员集中的重要场所和道路上监控进行建设和改造。视频监控记录的数据必须具有很高的安全性&#xf…

华为java8_Java8 Stream

简单认识Java streamJava8出了一个stream流式编程&#xff0c;在开发中或多或少用到接触过。怎么说呢&#xff01;举个例子把&#xff0c;一起我们在遍历一个集合的时候&#xff0c;我们是从外部去遍历的&#xff0c;然后才能拿到结果&#xff0c;这样来效率就会变得相对低一点…

c++ mysql 配置文件_C++操作数据库写入到json配置文件中

1. 这次加了对int和varchar的处理#include #include #include #include #include "json/json.h"#include #include using namespace std;int main(int argc, char* argv[]){MYSQL mysql;mysql_init( &mysql );mysql_real_connect(&mysql,"192.168.16.11…

求最长单调子序列java,单调减子序列(java实现)

题目&#xff1a;从一个由N个整数排列组成的整数序列中&#xff0c;自左向右不连续的选出一组整数&#xff0c;可以组成一个单调减小的子序列(如从{68 69 54 64 68 64 70 67 78 62 98 87}中我们可以选取出{69 68 64 62}这个子序列&#xff1b;当然&#xff0c;这里还有很多其他…

php输出12个月,php获取12个月内的开始时间和结束时间

$currentTime time();$cyear floor(date("Y",$currentTime));$cMonth floor(date("m",$currentTime));for($i0;$i<6;$i){$nMonth $cMonth-$i;$cyear $nMonth 0 ? ($cyear-1) : $cyear;$nMonth $nMonth < 0 ? 12$nMonth : $nMonth;$date $c…

java打开输入框,java – 在Android中打开输入对话框

我想在某个点打开一个输入对话框,我可以在其输入后存储和使用它.我在互联网上找到的所有例子都非常先进,我想它们并不像我想要的那样简单 – 我只需要类似于Java的东西&#xff1a;String name JOptionPane.showInputDialog("Enter your name");保留输入以供以后计算…

php 编译原理,编译原理

编译原理是计算机科学中历史最悠久&#xff0c;也是最高度发展的学科之一。编译器的设计与实现集中体现了计算机科学中的最核心的思想和技术&#xff0c;并且和计算机科学的其他研究领域&#xff0c;如形式语言与自动机、算法、数据结构、程序设计语言、计算机体系结构、软件工…

java俄文xml解析错误,XML解析出错处理

搜索热词正常解析完毕之后会直接走parserDidEndDocument这个方法解析出错之后会执行一个相应的方法&#xff0c;- (void)parser:(NSXMLParser*)parser parseErrorOccurred:(NSError*)parseError&#xff0c;执行完毕此方法后.会根据解析出错的地方去执行方法parserDidEndDocume…

JAVA中自己写的util中的chop,Java StringUtils.chop方法代碼示例

import org.apache.commons.lang3.StringUtils; //導入方法依賴的package包/類/*** Tutti i file dentro a /res vengono indicati come cacheabili lato browser per 1 anno (tramite lheader expires).* Per evitare che nuove versioni non vengano mai prese, si usa il &q…