Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: triviality regarding $# counts





On 2024-04-13 13:53, Bart Schaefer wrote:
On Sat, Apr 13, 2024 at 8:14 AM Ray Andrews <rayandrews@xxxxxxxxxxx> 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?



Messages sorted by: Reverse Date, Date, Thread, Author