可以使用os/exec包中的Output()CombinedOutput()函数来获取Run()执行完后的结果。

Output()函数会返回命令的标准输出结果,如果命令执行失败,则返回错误信息。

示例代码:

package main

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("ls", "-l")
    output, err := cmd.Output()
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(output))
}

CombinedOutput()函数会返回命令的标准输出和标准错误输出结果,如果命令执行失败,则返回错误信息。

示例代码:

package main

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("ls", "-l", "nonexistentfile")
    output, err := cmd.CombinedOutput()
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(output))
}

注意:Output()CombinedOutput()函数会在命令执行完毕后才返回结果,如果命令需要花费很长时间才能执行完毕,建议使用Start()Wait()函数来异步执行命令并获取结果

如何获取exec包中Run执行完后得到的结果

原文地址: https://www.cveoy.top/t/topic/fNg2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录