我正在尝试将命令输出重定向到变量:
OUTPUT=$(sudo apache2ctl configtest)
然后阅读:
echo $OUTPUT
运行它时,输出如下:
19:19:12 user@user ~ OUTPUT=$(sudo apache2ctl configtest) Syntax OK Syntax OK
但是变量保持空白。对于其他命令,我已经尝试过相同的方法,并且一切正常。
OUTPUT=$(ls -l)
这会将文件列表写入变量,OUTPUT以便以后可以读取。我应该怎么做才能使其正常工作?
OUTPUT
也许输出去了stderr,不是stdout吗?
stderr
stdout
尝试这个: OUTPUT=$(sudo apache2ctl configtest 2>&1)
OUTPUT=$(sudo apache2ctl configtest 2>&1)