所以我在bash shell脚本中运行命令,我想只捕获变量中的错误输出。我想要抑制的任何标准输出。
到目前为止,我肯定没有工作。所以我想提出一个更好的主意,并努力寻找答案。
以下是代码示例:
ERROR=$(svn switch "$NEW_URL" --accept postpone 1>/dev/null 2>&1) &
看起来一切都被压制了。任何帮助,将不胜感激。感谢。
答案 0 :(得分:2)
应该是这样的:
error=$({ echo "stdout"; echo "stderr" >&2; } 2>&1 >/dev/null)
echo "$error"
stderr
即。首先重定向stderr->stdout
,然后将标准输出重定向到/dev/null
以取消stdout
。
对于你的命令,它应该是:
error=$(svn switch "$NEW_URL" --accept postpone 2>&1 >/dev/null)
您还需要删除&
以避免在后台推送您的命令。