如何从 exec 命令获取错误消息
短信预约 -IT技能 免费直播动态提醒
来到编程网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《如何从 exec 命令获取错误消息》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!
问题内容我正在使用 go 创建 cli。我正在执行一个命令,如果操作系统抛出错误,我想打印它。
cmd := exec.command("abc", "run", pathtofile)
err := cmd.start()
if err != nil {
fmt.printf("error : %v \n", err)
os.exit(1)
}
err = cmd.wait()
if err != nil {
fmt.printf("error: %v \n", err)
os.exit(1)
}
这只给我退出状态代码
error: exit status 1
这不够描述性。
当我直接在终端中运行命令时,我清楚地收到错误消息。
source does not exist 'test.exe'
有办法打印消息吗?
解决方案
stderrpipe
返回一个管道,该管道将在命令启动时连接到命令的标准错误。
cmd := exec.Command("abc", "run", pathToFile)
stderr, _ := cmd.StderrPipe()
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
scanner := bufio.NewScanner(stderr)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341