execline
Software
www.skarnet.org
The shift program
shift shifts the positional parameters of an execline script.
Interface
shift [ -n argn ] [ -b blockn ] prog...
- shift shifts argn positional parameters,
then blockn blocks. It then execs prog....
- By default, argn and blockn are both zero;
but if neither the -n nor the -b option is given,
then argn is 1 and blockn is 0.
Details
- shift reads the number of "positional parameters" in the
# environment variable. Let n be that number.
- If the # environment variable is not set or does not
contain a valid number, or one of the 0, 1, ...,
n environment variables is not set, shift
exits 100 with an error message.
- shift calculates a shift value m, corresponding
to argn arguments followed by enough arguments to make
blockn blocks.
- It shifts the positional parameters m times: the
value of the m+1 variable becomes the value of the
1 variable, m+2 becomes 2 and so on,
and # is set to n-m (floored at zero).
- shift then execs into prog....
Notes
- shift is a standard shell builtin. Be careful if you
want to use it outside of an execline script.
- The -b option is only useful to implement execline
commands in the execline language. You shouldn't normally have to
use it.