0
java 프로그램에서 쉘 스크립트를 실행 중입니다. 해당 쉘 스크립트에서 데이터 마트 서버에 연결하고 resmgr 명령을 실행하고 있지만 resmgr의 출력을 가져올 수 없습니다. 명령, 명령 줄에서 동일한 명령을 실행하면 출력을 가져올 수 있습니다.자바 프로그램에서 실행중인 쉘 스크립트에서 출력을 가져올 수 없습니다.
쉘 스크립트 :
#!/bin/bash
source /opt/datamart/dataMart.env
/opt/datamart/bin/resmgr -export fgp -colNames "nName frm.dbIndex" -filter "npath($1) frm.name($2)" -noHead -sep ','
자바 프로그램 :
import java.io.*;
import java.util.*;
public class Test {
public static void main(String argsm[]) throws IOException, InterruptedException {
String cmd="./getDBIndex1.sh ~AP~Generic~Universal~Throughput \"Inbound Volume (octets)\"";
Runtime run = Runtime.getRuntime();
Process pr = run.exec(cmd);
pr.waitFor();
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = "";
while ((line=buf.readLine())!=null) {
System.out.println(line);
}
}
}