go语言简单的执行shell命令

package main

import(
    "fmt"
    "os/exec"
    "os"
    "strings"
)

func main(){
    fmt.Println("shell")
    var str,ip,data []byte
    var err error
    var cmd *exec.Cmd
    //
    cmd = exec.Command("whoami")
    str,err = cmd.Output()
    if err!=nil{
        fmt.Println(err)
        os.Exit(1)
    }
    fmt.Println(string(str))
    fmt.Println("=======")
    //filter line breaks
    fmt.Println(strings.Trim(string(str),"\n"))

    //get IP ,Mac platform,can not implement
    fmt.Println("=======")

    cmd = exec.Command("/bin/sh", "-c", `/sbin/ifconfig en0 | grep -E 'inet ' | awk '{print $2}'`)
    ip,err = cmd.Output()
    if err!=nil{
        fmt.Println(err)
        os.Exit(1)
    }
    fmt.Println(string(ip))
    fmt.Println(strings.Trim(string(ip),"\n"))


    //implement command
    fmt.Println("====================")
    cmd = exec.Command("/bin/sh","-c","echo wo shi shui wo zai na")
    data,err = cmd.Output()
    if err!=nil{
        fmt.Println(err)
        os.Exit(1)
    }
    fmt.Println(string(data))
    fmt.Println(strings.Trim(string(data),"\n"))
}

猜你喜欢

转载自www.cnblogs.com/MyUniverse/p/11031740.html