728x90
쉘 스크립트를 실행시키면서 파라미터를 넘기기 위해서는 'sh 스크립트명 파라미터'와 같이 실행시킬 쉘 스크립트 파일명 뒤에 띄우고 전달할 수 있다. 이를 자바에서 쉘 스크립트 실행하는 방법과 연동하면, Java가 제공하는 Runtime 클래스의 getRuntime() 메서드를 호출해 런타임 인스턴스를 반환받아, 여기에 exec() 메서드를 통해 쉘 실행 스크립트를 작성하면 된다.
Process process = Runtime.getRuntime().exec("sh shellname.sh hello java");
쉘을 아래와 같이 작성되어 있다고 전제한다.
$ echo $1
$ echo $2
위의 내용을 바로 출력시켜 보려면 Process 인스턴스로부터 바로 InputStream을 받아 BuffredReader로 읽으면 된다.
Process process = Runtime.getRuntime().exec("sh shellname.sh hello java");
BuffredReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while((line = reader.readLine()) != null) {
System.out.println(line);
}
자바코드를 실행시키면 아래와 같이 출력된다..!
hello
world
반응형
'Backend > Java' 카테고리의 다른 글
Java) 2진수의 정수를 10진수 정수로 변환하기(정수의 기수 변환) (0) | 2022.06.30 |
---|---|
Java) Integer List to int Array (0) | 2022.06.30 |
문자열 등의 데이터를 다른 타입(Class)로 변환하기(ObjectMapper) (0) | 2022.05.24 |
Java Networking) UDP 통신방식을 이용해 메세지 주고받기 (0) | 2022.04.30 |
Java Networking) Multi Thread환경을 Synchronized를 통해 동기화시키기 (0) | 2022.04.29 |