SeouliteLab

[Java/자바] 쉘 스크립트 실행 본문

프로그래밍

[Java/자바] 쉘 스크립트 실행

Seoulite Lab 2024. 3. 10. 00:56

Java에서는 외부 프로세스를 실행하여 쉘 스크립트를 실행할 수 있습니다. 이를 통해 다른 프로그램이나 명령행 도구를 실행하고 결과를 가져올 수 있습니다. 다음은 Java에서 쉘 스크립트를 실행하는 여러 가지 방법을 살펴보겠습니다.

예제 1: Runtime 클래스를 사용한 방법

public class ShellScriptExample1 {
    public static void main(String[] args) {
        try {
            String command = "ls -l";
            Process process = Runtime.getRuntime().exec(command);
            int exitCode = process.waitFor();
            System.out.println("Exit Code: " + exitCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Runtime 클래스를 사용하여 외부 프로세스를 실행하고 쉘 명령어를 실행하는 방법을 보여줍니다.

예제 2: ProcessBuilder 클래스를 사용한 방법

import java.io.IOException;

public class ShellScriptExample2 {
    public static void main(String[] args) {
        try {
            ProcessBuilder processBuilder = new ProcessBuilder();
            processBuilder.command("ls", "-l");
            Process process = processBuilder.start();
            int exitCode = process.waitFor();
            System.out.println("Exit Code: " + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

ProcessBuilder 클래스를 사용하여 외부 프로세스를 생성하고 쉘 명령어를 실행하는 방법을 보여줍니다.

예제 3: Apache Commons Exec 라이브러리를 사용한 방법

import org.apache.commons.exec.CommandLine;
import org.apache.commons.exec.DefaultExecutor;
import org.apache.commons.exec.ExecuteException;

import java.io.IOException;

public class ShellScriptExample3 {
    public static void main(String[] args) {
        try {
            CommandLine commandLine = CommandLine.parse("ls -l");
            DefaultExecutor executor = new DefaultExecutor();
            int exitValue = executor.execute(commandLine);
            System.out.println("Exit Code: " + exitValue);
        } catch (ExecuteException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Apache Commons Exec 라이브러리를 사용하여 쉘 명령어를 실행하는 방법을 보여줍니다.