Bash输出到变量不起作用?

Dss*_*Dss 0 bash stdout

我试图将命令集的输出设置为变量但是当我使用命令替换运行它时,该命令返回一个空行

[user@host bin]$ ./MyAppRead 4
Segmentation fault (core dumped)
[user@host bin]$ BALLS=$(./MyAppRead 4)
[user@host bin]$ echo $BALLS

[user@host bin]$
Run Code Online (Sandbox Code Playgroud)

我期待将BALLS设置为"Segmentation fault(core dumped)"但它是空白的?

-编辑-

更改以反映以下建议.但仍然空白

[user@host bin]$ ./MyAppRead 4
Segmentation fault (core dumped)
[user@host bin]$ BALLS=$(./MyAppRead 4 2>&1)
[user@host bin]$ echo $BALLS

[user@host bin]$
Run Code Online (Sandbox Code Playgroud)

Fli*_*mzy 5

$()捕获标准输出,而不是标准错误.分段错误错误将转到标准错误.

如果你想要两者,你可以这样捕获:

BALLS=$(./MyAppRead 4 2>&1)
Run Code Online (Sandbox Code Playgroud)