1 개요[ | ]
- Go Command()
- Go exec.Command()
2 정상 실행 여부만 확인[ | ]
Go
CPU
-1.0s
MEM
-0M
-1.0s
Copy
package main
import "fmt"
import "os/exec"
func main() {
cmd := exec.Command("touch", "/tmp/hello")
err := cmd.Run()
if err != nil {
panic(err)
}
fmt.Println("ok")
}
ok
3 실행결과 받기[ | ]
Go
Copy
package main
import "fmt"
import "os/exec"
func main() {
cmd := exec.Command("sh", "-c", "cat /etc/services | grep ^http")
stdout, err := cmd.Output()
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(string(stdout))
}
Loading
Go
Copy
package main
import "fmt"
import "os/exec"
func main() {
cmd := exec.Command("cat", "/etc/services", "|", "grep", "^http")
stdout, err := cmd.Output()
if err != nil {
panic(err)
}
fmt.Println(string(stdout))
}
Loading
Go
Copy
package main
import (
"bytes"
"fmt"
"log"
"os/exec"
"strings"
)
func main() {
cmd := exec.Command("tr", "a-z", "A-Z")
cmd.Stdin = strings.NewReader("some input")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Printf("in all caps: %q\n", out.String())
}
Loading
4 오류[ | ]
Go
Copy
package main
import (
"log"
"os"
"os/exec"
)
func main() {
cmd := exec.Command("prog")
cmd.Env = append(os.Environ(),
"FOO=duplicate_value", // ignored
"FOO=actual_value", // this value is used
)
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
}
Loading
5 같이 보기[ | ]
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.