【问题标题】:Bash how do you capture stderr to a variable? [duplicate]Bash如何将stderr捕获到变量? [复制]
【发布时间】:2012-06-20 16:44:13
【问题描述】:

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

我想在我的 bash 脚本中做这样的事情

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

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

【问题讨论】:

标签: bash stderr


【解决方案1】:

要将stdout stderr 保存到变量中:

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

请注意,这会将 stdout 和 stderr 交错到同一个变量中。

只是stderr保存到一个变量中:

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

【讨论】:

  • 我只想指出,您会将 stderr 和 stdout 都保存到变量中。当您只需要stderr 时,请使用2>&1 >/dev/null
  • @IgorChubin 好点。我最初的答案是基于 OP 想要做的事情,但这不一定是他们真正想要的。查看我的更改。
  • 很确定应该是“stdout stderr”,不是吗?
  • 不确定你的意思。 “stdout and stderr”实际上是答案的第一句话。
  • 啊,我明白了。有一个编辑。是的,那应该是标准输出,而不是标准输入。 :)
猜你喜欢
  • 2011-04-07
  • 2012-06-17
  • 2014-10-08
  • 1970-01-01
  • 2011-10-13
  • 2018-05-03
  • 2011-03-09
  • 2010-10-11
相关资源
最近更新 更多