将命令输出重定向到bash中的变量失败

rom*_*man 18 linux apache bash shell terminal

我正在尝试将命令输出重定向到变量:

OUTPUT=$(sudo apache2ctl configtest)
Run Code Online (Sandbox Code Playgroud)

然后阅读它:

echo $OUTPUT
Run Code Online (Sandbox Code Playgroud)

运行时输出如下:

19:19:12 user@user ~ OUTPUT=$(sudo apache2ctl configtest)
Syntax OK
Syntax OK
Run Code Online (Sandbox Code Playgroud)

但变量保持空白.我已经尝试过相同的其他命令,一切正常.

OUTPUT=$(ls -l)
Run Code Online (Sandbox Code Playgroud)

这会将文件列表写入变量,OUTPUT以便以后可以读取.我该怎么做才能让它发挥作用?

joh*_*n64 39

也许输出去了stderr,不是stdout吗?

试试这个: OUTPUT=$(sudo apache2ctl configtest 2>&1)