Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash:抑制标准输出,捕获错误输出_Bash - Fatal编程技术网

Bash:抑制标准输出,捕获错误输出

Bash:抑制标准输出,捕获错误输出,bash,Bash,所以我在bashshell脚本中运行命令,我只想捕获变量中的错误输出。任何我想要抑制的标准输出 到目前为止,我所拥有的肯定不起作用。所以我正试图想出一个更好的主意,努力寻找答案 下面是一个代码示例: ERROR=$(svn switch "$NEW_URL" --accept postpone 1>/dev/null 2>&1) & 看起来一切都被压制了。任何帮助都将不胜感激。谢谢。应该是这样的: error=$({ echo "stdout"; echo "std

所以我在bashshell脚本中运行命令,我只想捕获变量中的错误输出。任何我想要抑制的标准输出

到目前为止,我所拥有的肯定不起作用。所以我正试图想出一个更好的主意,努力寻找答案

下面是一个代码示例:

ERROR=$(svn switch "$NEW_URL" --accept postpone 1>/dev/null 2>&1) &

看起来一切都被压制了。任何帮助都将不胜感激。谢谢。

应该是这样的:

error=$({ echo "stdout"; echo "stderr" >&2; } 2>&1 >/dev/null)
echo "$error"
stderr
i、 e.首先重定向
stderr->stdout
,然后将stdout重定向到
/dev/null
以抑制
stdout

对于您的命令,它应该是:

error=$(svn switch "$NEW_URL" --accept postpone 2>&1 >/dev/null)
您还需要删除
&
,以避免在后台推送命令。

这是