On 17 October 2011 20:45, Mike Wright <mike.wright(a)mailinator.com> wrote:
On 10/17/2011 12:39 PM, Mike Wright wrote:
> Hi all,
>
> I'm trying to write a bash script and having problems.
>
> If I execute this:
>
> ps x | grep mongod | wc -l
>
> it returns a value.
>
> OTOH, if I execute this:
>
> LINES = ps x | grep mongod | wc -l
>
> it returns "command not found".
>
> How does one assign the output of a command to an environment variable?
Aaargh! Doesn't like the spaces around the = sign.
LINES=`ps x | grep mongod | wc -l` is a way to write it.
There's quite a good explanation of that somewhere, I think in the
bash manual. It boils down to:
X=A
is an assignment (to X)
X =A
is a command (run X, argument, '=A')
X= A
is an assignment (X="") followed by a command (A) run with that
assignment in effect (normally you need to export the value for it to
affect the child process).
Exercise left for the reader as to what
X = A
is.
--
imalone