Spring/Java
[ Java ] 쉘 스크립트 실행하기
snow_hong
2022. 3. 18. 11:24
Java에서 shell script 파일을 실행하는 방법 2가지를 소개합니다.
1. Runtime.getRuntime().exec()
Runtime.getRuntime().exec(script file path) API로 자바에서 쉘스크립트 파일을 실행할 수 있습니다.
BufferedReader를 통해 실행 결과를 읽을 수 있습니다.
[ java ]
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RunShellScript {
public static void main(String[] args) {
try {
// Run script
Process process = Runtime.getRuntime().exec("/tmp/myscript.sh");
// Read output
StringBuilder output = new StringBuilder();
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
output.append(line);
}
System.out.println(output.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
[ 쉘 ]
# /tmp/myscript.sh
echo "My Script"
[ 실행 결과 ]
더보기
My Script
2. ProcessBuilder
ProcessBuilder를 이용하여 자바에서 쉘스크립트 파일을 실행할 수 있습니다. BufferedReader를 통해 실행 결과를 읽을 수 있습니다.
[ java ]
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RunShellScript2 {
public static void main(String[] args) {
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("/tmp/myscript.sh");
try {
// Run script
Process process = processBuilder.start();
// Read output
StringBuilder output = new StringBuilder();
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
output.append(line);
}
System.out.println(output.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
[ 실행 결과 ]
My Script
[ 참고 사이트 ]
728x90