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
sh
shift [n]
csh
shift [variable]
ksh
*shift [n]
ksh
]shift [n]
DESCRIPTION
sh
The 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, are
shifted to the left, discarding the first component. It is
an error for the variable not to be set or to have a null
value.
ksh
The positional parameters from $n]1 $n]1 ... are renamed $1
..., default n is 1. The parameter n can be any arithmetic
expression that evaluates to a non-negative number less than
or equal to $#.
On this manual page, ksh(1) commands that are preceded by
one 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, are
expanded 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.
ksh93
shift 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 are
shifted.
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 were
successfully 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.
ATRIBUTES
SunOS 5.11 Last change: 20 Nov 2007 2
User Commands shift(1)
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWcsu
SEE ALSO
csh(1), ksh(1), ksh93(1), sh(1), attributes(5)
SunOS 5.11 Last change: 20 Nov 2007 3
|