Go exec包:获取Run()执行结果
Go exec包:获取Run()执行结果
在使用Go语言的os/exec包执行命令时,我们经常需要获取命令执行后的结果。exec包提供了Output()和CombinedOutput()函数来实现这一目的。
Output()函数
Output()函数执行命令并返回标准输出结果。如果命令执行失败,则返回错误信息。
**示例代码:**gopackage 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()函数
CombinedOutput()函数执行命令并返回标准输出和标准错误输出结果。如果命令执行失败,则返回错误信息。
**示例代码:**gopackage 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()函数来异步执行命令并获取结果。
原文地址: https://www.cveoy.top/t/topic/fVGW 著作权归作者所有。请勿转载和采集!