Ganymed,execCommand(“ java -version”) 提示:bash:java:找不到命令 但是我使用Shell工具,可以获得Java版本。 ganymed无法获得本地环境变量? 我该怎么办?
答案 0 :(得分:0)
此问题的原因是缺少环境变量。您可以尝试以下代码来解决。
public void execNoReturnRemoteCommand(String command, long timeout)
throws Exception {
Connection conn = getConnection();
Session session = null;
try {
session = conn.openSession();
session.requestPTY("bash");
session.startShell();
PrintWriter out = new PrintWriter(session.getStdin());
out.println(command);
out.println("exit");
out.close();
session.waitForCondition(ChannelCondition.CLOSED | ChannelCondition.EOF | ChannelCondition.EXIT_STATUS, timeout*1000);
} finally {
if (session != null) {
session.close();
}
if (conn != null) {
conn.close();
}
}
}