Hello,
the formal POSIX shell grammar for yacc symbol "simple_command" accepts 
commands which can be loosely summarized as:
three parts, each optional, in order:
variable assignments and redirections mixed togethercommand namecommand 
arguments and  redirections mixed together

It seems to me, the grammar would be simpler and semantics exactly the same, if 
we moved all redirections to the end (keeping the same order):
variable assignmentscommand nameargumentsredirections

So, why are redirections mixed in and not moved to the end, which would make 
everything simpler, and commands easier to understand for a casual user?
Is there a situation where doing so would change how the command behaves?
I am sorry if I don't see an obvious reason because of my inexperience with the 
subject matter.
Mark

Reply via email to