Bash如何将stderr捕获到变量中?

Bash如何将stderr捕获到变量中?,bash,stderr,Bash,Stderr,Bash如何将stderr捕获到变量中 我想在我的bash脚本中做类似的事情 sh -c path/myExcecutable-bin 2>&1 =MYVARIABLE 如何将stderror输出发送到变量?要将stdout和stderr保存到变量: MYVARIABLE="$(path/myExcecutable-bin 2>&1)" MYVARIABLE="$(path/myExcecutable-bin 2>&1 > /dev/null)

Bash如何将stderr捕获到变量中

我想在我的bash脚本中做类似的事情

sh -c path/myExcecutable-bin 2>&1 =MYVARIABLE

如何将stderror输出发送到变量?

要将
stdout
stderr
保存到变量:

MYVARIABLE="$(path/myExcecutable-bin 2>&1)"
MYVARIABLE="$(path/myExcecutable-bin 2>&1 > /dev/null)"
请注意,这将stdout和stderr交织到同一个变量中

要仅将
stderr
保存到变量,请执行以下操作:

MYVARIABLE="$(path/myExcecutable-bin 2>&1)"
MYVARIABLE="$(path/myExcecutable-bin 2>&1 > /dev/null)"

这个StackOverflow应该可以回答您的问题。请参阅许多相关线程中的一个,我只想注意,您将把stderr和stdout都保存到变量中。当您只需要
stderr
时,请使用
2>&1>/dev/null
@IgorChubin Good point。我最初的回答是基于OP想要做什么,但这并不一定是他们真正想要的。请看我的更改。非常确定应该是“
stdout
stderr
”,不是吗?不确定你的意思。“
stdout
stderr
”是答案的第一句话。啊,我明白了。有一个编辑。是的,那应该是标准,而不是标准。:)