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