On 2024-04-13 13:53, Bart Schaefer wrote: > On Sat, Apr 13, 2024 at 8:14 AM Ray Andrews wrote: > In the beginning, there were only environment strings ($SHELL, $PATH, > etc.) and positional parameters ($1, $2, etc.). When a command was > run, it got its arguments as an "array" of positional parameters. > This is how "variables" came to be called "parameters" in shell > jargon. This mapped directly onto C main() argc ($#) and argv[] ($@) > with the phantom $0 as the name of the command. > Some might say it's esoteric trivia but I disagree.  When you elucidate the history, and the mapping onto C, things make more sense.  The shells had to grow organically, didn't they?