首先,感谢您对我的问题的关注。我需要将Linux命令输入的输出值传递给Java Script前端。由于Linux在VMware上运行,因此它在Windows Java上使用SSH进行连接。有没有办法将VMware的Linux命令的结果作为Windows中Java中的参数获取?这是我当前正在使用的Java代码。
SSHReturnMethod sshReturnMethod = new SSHReturnMethod();
ArrayList totalmsg = null;
String host = "test.rebex.net";
String user = "demo";
String password = "password";
String command = "cleos wallet create --to-console";
try {
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession("gpc", "192.168.3.128", 22);
session.setPassword("password");
session.setConfig(config);
// Establish the connection
session.connect();
System.out.println("Connected...");
ChannelExec channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(command);
channel.setErrStream(System.err);
InputStream in = channel.getInputStream();
System.out.println(in);
channel.connect();
channel.connect();
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0) {
break;
}
System.out.print(new String(tmp, 0, i));
System.out.print(new String(tmp, 0, i));
}
if (channel.isClosed()) {
System.out.println("Exit Status: "
+ channel.getExitStatus());
break;
}
Thread.sleep(1000);
}
ArrayList valueOfReturn = sshReturnMethod.returnString(totalmsg); //value of return
System.out.println(String.valueOf(valueOfReturn));
channel.disconnect();
session.disconnect();
System.out.println("DONE!!!");
} catch (Exception e) {
e.printStackTrace();
}
这是来自Java的结果值。
已连接... com.jcraft.jsch.Channel$MyPipedInputStream@51565ec2
错误3120001:钱包已存在 尝试使用其他钱包名称。
退出状态:1 返回输入为:null 空值 完成了!
我想要
错误3120001:钱包已存在 尝试使用其他钱包名称。
创建一个返回该部分的方法。