Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

shift(1)

名前

shift - シェルの引数のリスト、またはフィールドで区切られた単語をずらすためのシェル組み込み関数

形式

sh

shift [n]

csh

shift [variable]

ksh88

* shift [n]

ksh88

+shift [n]

説明

sh

$n+1 . . .から始まる一連の定位置パラメータを、次の名前に変更します。$1 . . . と同じになります。n を指定しない場合、 1 と見なされます。

csh

argv のコンポーネント (または variable が指定されればその変数のコンポーネント) を、 左へずらして最初のコンポーネントを切り捨てます。未設定の変数および NULL 値に対してはエラーとなります。

ksh88

$n+1 $n+1 . . . の定位置パラメータを $1 . . . という名前に変更します。n のデフォルト値は 1 です。パラメータ n に指定できる値は、評価結果が $# 以下の負でない数になる算術式です。

このマニュアルページでは、1 つまたは 2 つのアスタリスク (*) が先頭に付加されている ksh88(1) コマンドは、次の方法で特殊な処理を受けます。

  1. コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。

  2. 入出力のリダイレクトは変数代入後に行われます。

  3. エラーが発生すると、それを含むスクリプトは中止されます。

  4. 変数代入形式で、** から始まるコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、ワード分割とファイル名生成は実行されません。

ksh

shift は、定位置パラメータを n または 1 (n を省略した場合) で定義された桁数ずつ左にシフトする特別な組み込みシェルです。残りの定位置パラメータの数は、シフトされる桁数だけ削減されます。

n を指定した場合は、シフトする桁数を決定する算術式として評価されます。定位置パラメータの数よりも大きくシフトしたり、負の桁数をシフトしたりすると、エラーが発生します。

kshshift では、次の終了値が返されます。

0

正常終了。定位置パラメータは正常にシフトされました。

>0

エラーが発生した。

このマニュアルページでは、1 つまたは 2 つの + (プラス符号) が先頭に付加されている ksh(1) コマンドは、次のような特殊な処理を受けます。

  1. コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。

  2. 入出力のリダイレクトは変数代入後に行われます。

  3. エラーが発生すると、それを含むスクリプトは中止されます。

  4. これらは有効な関数名ではありません。

  5. 変数代入形式で、++ を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、フィールド分割とファイル名生成は実行されません。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

csh(1), ksh(1), ksh88(1), sh(1), attributes(7)