golang执行系统shell命令,并获取返回内容

可以使用 os/exec 包中的 Command 函数执行 shell 命令,并使用 CombinedOutput 方法获取命令的输出结果和退出码。示例代码如下:
import (
"fmt"
"os/exec"
)

func runCommand(command string) (string, error) {
cmd := exec.Command("sh", "-c", command)
output, err := cmd.CombinedOutput()
if err != nil {
return "", err
}
return string(output), nil
}


调用 runCommand 函数即可执行 shell 命令,并获取命令的输出结果。如果命令执行成功,则返回输出结果和 nil,否则返回空字符串和错误信息。需要注意的是,由于 CombinedOutput 方法会等待命令执行完毕才返回,因此在执行耗时较长的命令时可能会阻塞程序的执行。可以使用 Start 和 Wait 方法实现异步执行命令的效果。

0 个评论

要回复文章请先登录注册