Golang exec.Command 获取命令执行结果及错误处理

在 Golang 中,可以使用 os/exec 包的 Command 函数执行系统命令。如果需要获取命令执行后的返回数据,可以使用 Output 方法。

代码示例:

package main

import (
	'fmt'
	'os/exec'
)

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

代码说明:

  1. 使用 exec.Command('ls', '-l') 创建一个执行 ls -l 命令的对象。
  2. 调用 cmd.Output() 方法执行命令并获取返回数据。该方法返回两个值:
    • output:命令执行后的标准输出,类型为 []byte
    • err:命令执行过程中出现的错误信息,类型为 error
  3. 检查 err 是否为空。如果不为空,则表示命令执行出错,需要进行错误处理。
  4. 如果 err 为空,则表示命令执行成功,可以使用 string(output) 将返回数据转换为字符串并输出。

注意事项:

  • cmd.Output() 方法会阻塞当前 goroutine,直到命令执行完毕。
  • 如果命令执行出错,err 中会包含错误信息。
  • 可以使用 string(output)[]byte 类型的返回数据转换为字符串。

希望以上信息对您有所帮助!

Golang exec.Command 获取命令执行结果及错误处理

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

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