相关疑难解决方法(0)

bash变量分别捕获stderr和stdout或获取退出值

我需要在bash脚本中捕获命令的输出和错误,并知道命令是否成功.

目前,我正在捕捉这两个:

output=$(mycommand 2>&1)
Run Code Online (Sandbox Code Playgroud)

然后我需要检查mycommand的退出值.如果失败了,我需要对输出做一些事情,如果命令成功,我不需要触摸输出.

由于我正在捕获输出,检查$?因为bash成功地将输出捕获到变量中,所以总是为0.

这是一个非常时间敏感的脚本,所以我们试图避免任何较慢的解决方案,如输出到文件并重新读取它.

如果我可以将stdout捕获到一个变量并将stderr捕获到另一个变量,这将解决我的问题,因为我可以检查错误变量是否为空.

谢谢.

variables bash stdout capture stderr

17
推荐指数
2
解决办法
9379
查看次数

标签 统计

bash ×1

capture ×1

stderr ×1

stdout ×1

variables ×1