On Sat, Feb 14, 2015 at 11:36 AM, J Martin Rushton <martinrushton56 at btinternet.com> wrote: > <snip> >> To understand it completely you need to know the order of >> operations as the shell makes multiple passes over the line, >> parsing, processing metacharacters, and expanding variables. And >> I don't know where to find a concise description of that any more. > > man bash, about 900 lines down under "EXPANSION". But it is not 'just' expansions. You need to know the full order of operations with all the steps - word splitting, quote removal, i/o redirection, groupings, etc., some of which is repeated over the line after some of the other steps happen. I think I saw this in an understandable form for the bourne shell back in the 1980's but can't remember it well enough to describe and all the bash docs I've seen are way too convoluted to just see the order of operations as a simple set of steps - that you need to know before any of the rest will make sense. -- Les Mikesell lesmikesell at gmail.com