Golang exec.Command 获取命令执行结果及错误处理
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))
}
代码说明:
- 使用
exec.Command('ls', '-l')创建一个执行ls -l命令的对象。 - 调用
cmd.Output()方法执行命令并获取返回数据。该方法返回两个值:output:命令执行后的标准输出,类型为[]byte。err:命令执行过程中出现的错误信息,类型为error。
- 检查
err是否为空。如果不为空,则表示命令执行出错,需要进行错误处理。 - 如果
err为空,则表示命令执行成功,可以使用string(output)将返回数据转换为字符串并输出。
注意事项:
cmd.Output()方法会阻塞当前 goroutine,直到命令执行完毕。- 如果命令执行出错,
err中会包含错误信息。 - 可以使用
string(output)将[]byte类型的返回数据转换为字符串。
希望以上信息对您有所帮助!
原文地址: http://www.cveoy.top/t/topic/jpg7 著作权归作者所有。请勿转载和采集!