我试图将命令集的输出设置为变量但是当我使用命令替换运行它时,该命令返回一个空行
[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)
$()捕获标准输出,而不是标准错误.分段错误错误将转到标准错误.
如果你想要两者,你可以这样捕获:
BALLS=$(./MyAppRead 4 2>&1)
Run Code Online (Sandbox Code Playgroud)