将命令输出重定向到bash中的变量失败 [英] Redirecting command output to a variable in bash fails

查看:53
本文介绍了将命令输出重定向到bash中的变量失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to redirect command output to a variable:

OUTPUT=$(sudo apache2ctl configtest)

然后阅读:

echo $OUTPUT

运行它时,输出如下:

19:19:12 user@user ~ OUTPUT=$(sudo apache2ctl configtest)
Syntax OK
Syntax OK

但是变量保持空白.对于其他命令,我已经尝试过相同的方法,并且一切正常.

But the variable stays blank. I've tried the same for other commands and everything works fine.

OUTPUT=$(ls -l)

这会将文件列表写入变量OUTPUT,以便以后可以读取. 我应该怎么做才能使其正常工作?

This writes file list to variable OUTPUT so that it can be read later. What should i do to make it work?

推荐答案

也许输出到stderr,而不是stdout?

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

这篇关于将命令输出重定向到bash中的变量失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆