OT: need bash help [solved]

Ian Malone ibmalone at gmail.com
Mon Oct 17 22:33:31 UTC 2011


On 17 October 2011 20:45, Mike Wright <mike.wright at 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


More information about the users mailing list