[go] 명령 실행 표준 입출력

Go 언어는 우수한 명령 실행 및 표준 입출력 지원을 제공하여 손쉽게 외부 프로그램을 실행하고 입출력을 처리할 수 있습니다.

명령 실행

Go 언어에서는 os/exec 패키지를 사용하여 외부 명령을 실행할 수 있습니다. 간단한 예제를 통해 살펴보겠습니다.

package main

import (
	"fmt"
	"os/exec"
)

func main() {
	cmd := exec.Command("ls", "-l")
	stdout, err := cmd.Output()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(string(stdout))
}

위 예제는 ls -l 명령을 실행하고 그 결과를 표준 출력으로 출력합니다.

표준 입출력

Go 언어는 os/exec 패키지를 통해 실행한 명령의 표준 입력, 표준 출력, 표준 에러를 다룰 수 있습니다.

package main

import (
	"fmt"
	"os/exec"
)

func main() {
	cmd := exec.Command("cat")
	cmd.Stdin = strings.NewReader("Hello, Go!")
	stdout, err := cmd.Output()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(string(stdout))
}

위 예제에서는 cat 명령을 실행하고 표준 입력으로 “Hello, Go!”를 제공합니다. 그 결과를 표준 출력으로 출력합니다.

명령 실행 및 표준 입출력은 Go 언어의 강력한 기능 중 하나이며, 이를 활용하여 다양한 시스템 프로그래밍 및 자동화 작업을 수행할 수 있습니다.

더 자세한 내용은 Go 공식 문서를 참고하세요.

Go 언어 공식 사이트