User Commands shift(1)
NAME
shift - shell built-in function to traverse either a shell's
argument list or a list of field-separated words
SYNOPSIS
shshift [n]
cshshift [variable]
ksh*shift [n]
ksh+shift [n]
DESCRIPTION
shThe positional parameters from $n+1 ... are renamed $1 ... .
If n is not specified, it is assumed to be 1. csh The components of argv, or variable, if supplied, areshifted to the left, discarding the first component. It is
an error for the variable not to be set or to have a null value. kshThe positional parameters from $n+1 $n+1 ... are renamed $1
..., default n is 1. The parameter n can be any arithmeticexpression that evaluates to a non-negative number less than
or equal to $#.
On this manual page, ksh(1) commands that are preceded byone or two * (asterisks) are treated specially in the fol-
lowing ways: 1. Variable assignment lists preceding the command remain in effect when the command completes.2. I/O redirections are processed after variable assignments. 3. Errors cause a script that contains them to abort. 4. Words, following a command preceded by ** that are
SunOS 5.11 Last change: 20 Nov 2007 1
User Commands shift(1)
in the format of a variable assignment, areexpanded with the same rules as a variable assign-
ment. This means that tilde substitution is per-
formed after the = sign and word splitting and file name generation are not performed. ksh93shift is a shell special built-in that shifts the positional
parameters to the left by the number of places defined by n, or 1 if n is omitted. The number of positional parameters remaining is reduced by the number of places that areshifted.
If n is specified, it is evaluated as an arithmetic expres-
sion to determine the number of places to shift. It is an
error to shift more than the number of positional parameters
or a negative number of places.The following exit values are returned by shift in ksh93:
0 Successful completion. The positional parameters weresuccessfully shifted.
>0 An error occurred. On this manual page, ksh93(1) commands that are preceded by one or two + are treated specially in the following ways: 1. Variable assignment lists preceding the command remain in effect when the command completes.2. I/O redirections are processed after variable assignments. 3. Errors cause a script that contains them to abort. 4. They are not valid function names. 5. Words, following a command preceded by ++ that are in the format of a variable assignment, are
expanded with the same rules as a variable assign-
ment. This means that tilde substitution is per-
formed after the = sign and field splitting and file name generation are not performed.ATTRIBUTES
SunOS 5.11 Last change: 20 Nov 2007 2
User Commands shift(1)
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
SEE ALSO
csh(1), ksh(1), ksh93(1), sh(1), attributes(5)SunOS 5.11 Last change: 20 Nov 2007 3