Redirecting command output to a variable in bash fails

apache, bash, linux, shell, terminal

Solution

Maybe the output goes to `stderr`, not `stdout`? Try this:

OUTPUT="$(sudo apache2ctl configtest 2>&1)"

Problem

I'm trying to redirect command output to a variable: ``` OUTPUT=$(sudo apache2ctl configtest) ``` and then to read it: ``` echo $OUTPUT ``` When running it the output is the following: ``` 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) ``` This writes file list to variable `OUTPUT` so that it can be read later. What should i do to make it work?

Original source

Related problems