Bourne | Ash |  #!  | find | ARG_MAX | Shells | whatshell | portability | permissions | UUOC | ancient | - | ../Various | HOME
"$@" | echo/printf | set -e | test | tty defs | tty chars | $() vs ) | IFS | using siginfo | nanosleep | line charset | locale


Functions and positional parameters: SVR2 vs SVR3 ff.

The SVR2 variant of the Bourne shell introduced functions.
It was documented that:
    Execution

    [...]  The positional parameters $1, $2, .... are set to the
    arguments of the function.  
So this behaviour

However, this behaviour is not intuitive when having background in other programming languages.

The behaviour was changed with the following SVR3 variant.

The decisions how to go on with SVR2 based shells were different now:

There's also a thread with numerous different points of view on the issue, see <316526A3.2541@ats.nld.alcatel.nl> and ff., 04/96 starting in comp.unix.shell, comp.sys.hp.hpux, comp.sys.hp.apps, comp.unix.internals.