bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Assigning variable value in right behalf of pipeline has no effect


From: xandrous
Subject: Re: Assigning variable value in right behalf of pipeline has no effect
Date: Thu, 5 Jul 2007 22:16:06 +0400

> XXX=10; { XXX=20; } | read; echo $XXX
>
> XXX=10; { XXX=20; }; echo $XXX
>
> I suppose both of them should output  '20' but the first one outputs
> '10'. Is it feature of bug?

This is normal.  It's explained in entry E4 in the bash FAQ.

Oh, sorry, I made a mistake in the subject, it should have been "left
half" of pipeline. Anyway the examples were right and I have already
read E4 entry of the FAQ but I still couldn't understand the results.

It's clear that 'read' is executed as an separate process and its
result (REPLY variable value) is lost but 'XXX=20'  command is done by
the same process as 'XXX=10'. And if it's so why the 'XXX=20' command
has no effect in the first example? Only because it's done as part of
the pipeline?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]