java执行shell脚本代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
public class CopyDemo
{
public static void main(String[] args)
{
String hostname = "134.32.43.***";//要登陆目标主机
String username = "root";//登陆用的用户名
String password = "***"; //登陆用到的密码
try
{
Connection conn = new Connection(hostname);
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
Session sess = conn.openSession();
sess.execCommand("ps aux ");
try {
System.out.println("start!!!!!!!!!");
//文件的拷贝;
String shell = "cp /gbase/shell.sh /gbase/shell2.sh";
Process ps = Runtime.getRuntime().exec(shell);
ps.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer(); ;
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
String result = sb.toString();
System.out.println(result);
}
catch (Exception e) {
e.printStackTrace();
}
System.out.println("helloworld");
sess.close();
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}
}
查看结果: