1. 获取执行后返回的数据:

可以使用exec.Command的CombinedOutput方法来获取执行后的标准输出和标准错误输出。示例代码如下:

cmd := exec.Command("ls", "-l")
output, err := cmd.CombinedOutput()
if err != nil {
    fmt.Println(err)
}
fmt.Println(string(output))
  1. 如果执行完没有输出结果调用Output会报错吗?

不会报错。如果没有输出结果,Output方法会返回一个空字节切片,而不会报错。

  1. Output报错exit status 1,这是啥问题,如何解决?

这个问题通常是因为被执行的命令返回了一个非零的退出状态码,表示命令执行失败。可以通过查看标准错误输出来找到问题所在。示例代码如下:

cmd := exec.Command("ls", "nonexistent_dir")
output, err := cmd.CombinedOutput()
if err != nil {
    fmt.Println(string(output))
    fmt.Println(err)
}

在这个示例中,执行的命令是ls nonexistent_dir,这个目录不存在,所以会返回一个非零的退出状态码,导致err不为nil,而且输出了标准错误信息。可以通过查看标准错误信息来找到问题所在

golang execCommand如何获取执行后返回的数据如果执行完没有输出结果调用Output会报错吗Output报错exit status 1这是啥问题如何解决

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

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