[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
패키지를 사용하여 외부 명령어를 실행하고 결과를 처리하는 방법에 대해 알아보았습니다.
참고 문헌: