Estou implementando um método que se conecta ao sevidor Linux e executa um script.
Quando executo comandos Linux funciona ls -l por exemplo mais quando executo o seguinte script “#! FNDLOAD mau/mau O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct /geq_mauricio/MAU_CONCURENTE.ldt PROGRAM APPLICATION_SHORT_NAME=MAU CONCURRENT_PROGRAM_NAME=‘MAU_CONCURRENTE’” + “\r\n”; não dar erro mais retorna null. o script deveria gerar um arquivo em uma pasta no servidor linux. Quando executo o script na mão no servidor funciona.segue o método.
public EBS conexaoEbs(EBS ebs) throws SocketException, IOException, InterruptedException {
EBS ebsAux = new EBS();
String retorno = “Conectado com sucesso”;
String comando = “#! FNDLOAD mau/mau O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct /geq_mauricio/MEU_ARQUIVO.ldt PROGRAM APPLICATION_SHORT_NAME=MAU CONCURRENT_PROGRAM_NAME=‘MEU_CONCURRENTE’” + “\r\n”;
Connection conn = new Connection(ebs.getHost());
conn.connect();
if (!conn.isAuthenticationComplete()) {
conn.authenticateWithPassword(ebs.getUserName() ,ebs.getPassword());
if (conn.isAuthenticationComplete()) {
Session sess = conn.openSession();
sess.execCommand(comando);
//InputStream stdout = new StreamGobbler(sess.getStderr());
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line); }
sess.close();
} else {
retorno = "Não Conectado";
}
}
//}
conn.close();
ebsAux.setScript(retorno.toString());
return ebsAux;
}