[go] go 언어의 exec 패키지를 사용하여 외부 명령어 실행 결과 처리하는 방법

Go 언어에서는 os/exec 패키지를 사용하여 외부 명령어를 실행하고 결과를 처리할 수 있습니다. 이를 통해 Go 언어 프로그램에서 외부 명령어를 실행시키고 결과를 받아올 수 있습니다.

1. exec 패키지를 이용한 외부 명령어 실행

다음은 os/exec 패키지를 사용하여 외부 명령어를 실행하는 간단한 예제 코드입니다.

package main

import (
	"fmt"
	"os/exec"
)

func main() {
	cmd := exec.Command("ls", "-l")  // 실행할 외부 명령어와 옵션을 지정
	stdout, err := cmd.Output()  // 명령어 실행 후 결과를 stdout에 저장
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(string(stdout))  // 결과 출력
}

위 예제에서는 ls -l 명령어를 실행하고 결과를 표준 출력으로 받아 출력하는 코드입니다.

2. 외부 명령어 실행 결과 처리

os/exec 패키지의 Command 구조체의 Output 메서드를 사용하여 외부 명령어를 실행하고 결과를 받아올 수 있습니다. 실행 결과는 바이트 슬라이스로 반환되며 이를 문자열로 변환하여 처리할 수 있습니다.

3. 예외 처리

외부 명령어 실행 시 발생하는 에러에 대한 예외 처리를 해주어야 합니다. cmd.Output() 메서드를 통해 발생한 에러를 검사하여 적절히 처리해야 합니다.

이제 Go 언어에서 os/exec 패키지를 사용하여 외부 명령어를 실행하고 결과를 처리하는 방법에 대해 알아보았습니다.

참고 문헌: