在go的exec.command
使用stderr使用stderr进行增强错误消息 cmd:= exec.command(“ find”,“”,“/”,“ -maxDepth”,“ 1”,“ -Exec”,“ WC”,“ - c”,“ -c”,“ {}”,“ {}”,“ \\”) var out bytes.buffer var stderr bytes.buffer cmd.stdout =&out cmd.stderr =&stderr 现在,当执行命令并发生错误时,错误消息将写入stderr buffer而不是通用的“退出状态1。 exec.command(“ find”,“/”,“ -maxDepth”,“ 1”,“ -Exec”,“ WC”,“ -C”,“ {}”,“ \\”) var out bytes.buffer var stderr bytes.buffer cmd.stdout =&out cmd.stderr =&stderr err:= cmd.run() 如果err!= nil { fmt.println(fmt.sprint(err)“:” stderr.string()) 返回 } fmt.println(“结果:” out.string())
在执行后,代码将显示以下详细错误消息:附加注意事项
有些命令可能会打印出错误的错误,而另一些命令可能会将错误打印到STDERR,但仍然返回成功的退出状态(0)。因此,可能有必要调整代码以符合您执行的特定命令。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3