golang 안에서 git clone 또는 git pull을 하는 등 직접 커맨드를 실행해야 하는 경우가 많다.
이번 포스팅에선 golang 안에서 직접 커맨드를 실행하는 방법에 대해서 알아보자
예를들면 워킹 디렉토리(working directory) /test/workspace 안에서 ls -a 를 실행하는 커맨드를 입력한다고 하면 아래와 같은 방식으로 사용할 수 있다.
import (
"os/exec"
)
cmd := exec.Command("ls", "-a")
cmd.Dir = "/test/workspace"
output, err := cmd.Output()
if err != nil {
fmt.Println(err)
} else {
fmt.Println(string(output))
}
지원하지 않는 시스템 함수를 호출 할 때나 외부 바이너리 실행 결과를 가져와야할 때 자주 애용한다. 최근에는 주기적으로 데이터 긁어 저장한 뒤, git에 자동 푸시해 알아서 자동 갱신되는 github pages를 만들때 사용했다.
'개발의 정석 > 언어' 카테고리의 다른 글
[#golang] html 태그 제거(strip tags) (0) | 2020.03.30 |
---|---|
[#golang] 맵에 키가 존재하는지 체크하는 방법 (0) | 2020.03.26 |
[#golang] 디렉토리의 파일 리스트 찾기 (0) | 2020.03.26 |
[#python] 리스트 자유자재로 다루기 (0) | 2020.03.24 |
[#golang] go modules로 쉽게 의존성 패키지 관리하기 (0) | 2020.03.24 |
댓글