|
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?
[Prev in Thread] | Current Thread | [Next in Thread] |