logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       None.

Asynchronous Events

       Default.

Consequences Of Errors

       Default.

       Thefollowingsectionsareinformative.

Description

       The  positional  parameters  shall  be  shifted.  Positional  parameter  1 shall be assigned the value of
       parameter (1+n), parameter 2 shall be assigned the value of parameter (2+n), and so  on.  The  parameters
       represented  by  the  numbers  "$#"  down to "$#-n+1" shall be unset, and the parameter '#' is updated to
       reflect the new number of positional parameters.

       The value n shall be an unsigned decimal integer less than or equal to the value of the special parameter
       '#'.  If n is not given, it shall be assumed to be 1. If n is 0, the positional  and  special  parameters
       are not changed.

Environment Variables

       None.

Examples

$ set a b c d e
       $ shift 2
       $ echo $*
       cde

Exit Status

       If  the  n  operand  is invalid or is greater than "$#", this may be considered a syntax error and a non-
       interactive shell may exit; if the shell does not exit in this case, a  non-zero  exit  status  shall  be
       returned. Otherwise, zero shall be returned.

Extended Description

       None.

Future Directions

       None.

Input Files

       None.

Name

       shift — shift positional parameters

Operands

       See the DESCRIPTION.

Options

       None.

Output Files

       None.

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       None.

See Also

Section2.14, SpecialBuilt-InUtilities

Stderr

       The standard error shall be used only for diagnostic messages.

Stdin

       Not used.

Stdout

       Not used.

Synopsis

       shift [n]

See Also