golang - golang 시스템 명령, 쉘 명령어 실행, 콘솔 Exec a shell command in Go, 스크립트 실행, 콤맨드
이 름 : 바다아이
|
조회수 : 11409
짧은 주소 : https://www.bada-ie.com/su/?941591786624
가끔 golang 에서 시스템 명령어를 실행해야 하는 경우가 생깁니다.
이럴 때 아래처럼 하시면 편하게 실행하실 수 있습니다.
함수가 여러가지 있습니다. 아래 보시면 자세히 나와 있습니다.
https://golang.org/pkg/os/exec/ 단순하게 데몬 리부팅을 위해 실행이면package main
import (
"os/exec"
)
funcmain() {
cmdStr := "sh aaa.sh"
cmd := exec.Command("/bin/sh", "-c", cmdStr)
_ = cmd.Run()
}
하나의 단순 명령에서 결과값 리턴... package main
import (
"fmt""log""os/exec"
)
funcmain() {
out, err := exec.Command("date").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)
}
옵션이 있어 실행 후 결과 리턴이면package main
import (
"fmt""os/exec""strings"
)
// RunCMD is a simple wrapper around terminal commandsfuncRunCMD(path string, args []string, debug bool)(out string, err error) {
cmd := exec.Command(path, args...)
var b []byte
b, err = cmd.CombinedOutput()
out = string(b)
if debug {
fmt.Println(strings.Join(cmd.Args[:], " "))
if err != nil {
fmt.Println("RunCMD ERROR")
fmt.Println(out)
}
}
return
}
funcmain() {
args := []string{"-a", "-l"}
output, err := RunCMD("ls", args, true)
if err != nil {
fmt.Println("Error:", output)
} else {
fmt.Println("Result:", output)
}
}
참고 : https://stackoverflow.com/questions/6182369/exec-a-shell-command-in-go
|
|
번 호
카테고리
제 목
이름
조회수
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.07118 초 to webmaster... gogo sea. gogo sea.