# Shift 組込みコマンド

Shift 組込みコマンドは​位置パラメータまたは​配列の要素のいくつかを削除します。

## 構文

- `shift [-A 配列名] [個数]`

## 説明

Shift コマンドは​位置パラメータまたは​配列の要素のうち最初のいくつかを削除します。削除するパラメータ・要素の数はオペランドで指定します。

## オプション

`-A 配列`
`--array=配列`

  位置パラメータではなく配列の最初の要素を削除します。

## オペランド

個数

  削除する位置パラメータまたは配列の要素の個数を指示する整数です。

  実際の位置パラメータ・要素の個数より大きい数を指定するとエラーになります。省略すると 1 を指定したものとみなします。負数を指定すると最初ではなく最後の位置パラメータまたは配列要素を削除します。

## 終了ステータス

エラーがない限り shift コマンドの終了ステータスは 0 です。

## 補足

Shift コマンドは​特殊組込みコマンドです。

位置パラメータの個数は​特殊パラメータ `#` によって知ることができます。配列の要素の個数は `${配列[#]}` によって知ることができます。

POSIX には `-A` (`--array`) オプションに関する規定はありません。よってこのオプションは POSIX 準拠モードでは使えません。

POSIX 準拠モードでは負の個数は指定できません。