我需要在我的 bash 脚本中捕获命令的输出和错误,并知道该命令是否成功。
目前,我正在像这样捕获两者:
output=$(mycommand 2>&1)
然后我需要检查 mycommand 的退出值。如果失败,我需要对输出做一些事情,如果命令成功,我不需要触摸输出。
由于我正在捕获输出,因此检查 $? 始终为 0,因为 bash 成功地将输出捕获到变量中。
这是一个对时间非常敏感的脚本,因此我们试图避免任何较慢的解决方案,例如输出到文件并重新读取它。
如果我可以将 stdout 捕获到一个变量并将 stderr 捕获到另一个变量,那将解决我的问题,因为我可以检查错误变量是否为空。
谢谢。