Go 언어 os/exec 알아보기
오늘은 Go 언어 기본 패키지에 포함되있는 os/exec로 터미널 명령을 수행하는 실습을 해보려 합니다.
package main
import (
"fmt"
"os/exec"
)
os/exec 패키지로 터미널 명령을 수행하여 외부 프로그램을 불러올 수 있고, fmt 패키지로는 출력할수 있습니다.
func main() {
path, _ := exec.LookPath("go")
fmt.Println(path)
해당 명령이 수행되는 경로의 환경 변수를 가져오게 됩니다.
out, _ := exec.Command("date").Output()
fmt.Println(string(out))
명령어의 출력을 바이트 배열로 저장할 수 있습니다.
cmd := exec.Command("sleep", "1")
cmd.Start()
cmd.Wait()
즉시 끝나지 않는 명령은 수행하고 기다릴 수 있습니다.
cmd = exec.Command("sh", "-c", "echo hello,world!")
stdoutStderr, _ := cmd.CombinedOutput()
fmt.Println(string(stdoutStderr))
}
표준 출력과 표준 오류를 같이 반환해줍니다.
Written on October 31, 2018