| Current File : //usr/share/man/ja_JP.UTF-8/man1/shift.1 |
'\" te
.\" Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
.\" Copyright 1989 AT&T
.\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures
.TH shift 1 "2011 年 7 月 12 日" "SunOS 5.11" "ユーザーコマンド"
.SH 名前
shift \- シェルの引数のリスト、またはフィールドで区切られた単語をずらすためのシェル組み込み関数
.SH 形式
.SS "sh"
.LP
.nf
\fBshift\fR [\fIn\fR]
.fi
.SS "csh"
.LP
.nf
\fBshift\fR [\fIvariable\fR]
.fi
.SS "ksh88"
.LP
.nf
\fB* shift\fR [\fIn\fR]
.fi
.SS "ksh88"
.LP
.nf
\fB+shift\fR [\fIn\fR]
.fi
.SH 機能説明
.SS "sh"
.sp
.LP
\fB$\fR\fIn\fR\fB+1\fR . . .から始まる一連の定位置パラメータを、次の名前に変更します。\fB$1\fR . . . と同じになります。\fIn\fR を指定しない場合、 1 と見なされます。
.SS "csh"
.sp
.LP
\fIargv\fR のコンポーネント (または \fIvariable\fR が指定されればその変数のコンポーネント) を、 左へずらして最初のコンポーネントを切り捨てます。未設定の変数および NULL 値に対してはエラーとなります。
.SS "ksh88"
.sp
.LP
\fB$\fR\fIn\fR\fB+1\fR \fB$\fR\fIn\fR\fB+1 . . .\fR の定位置パラメータを \fB $1 . . .\fR という名前に変更します。\fIn\fR のデフォルト値は 1 です。パラメータ \fIn\fR に指定できる値は、評価結果が \fB$#\fR 以下の負でない数になる算術式です。
.sp
.LP
このマニュアルページでは、1 つまたは 2 つのアスタリスク (*) が先頭に付加されている \fBksh88\fR(1) コマンドは、次の方法で特殊な処理を受けます。
.RS +4
.TP
1.
コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。
.RE
.RS +4
.TP
2.
\fB入出力のリダイレクトは変数代入後に行われます。\fR
.RE
.RS +4
.TP
3.
エラーが発生すると、それを含むスクリプトは中止されます。
.RE
.RS +4
.TP
4.
変数代入形式で、** から始まるコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は \fB=\fR 符号のあとに実行され、ワード分割とファイル名生成は実行されません。
.RE
.SS "ksh"
.sp
.LP
\fBshift\fR は、定位置パラメータを \fIn\fR または \fB1\fR (\fIn\fR を省略した場合) で定義された桁数ずつ左にシフトする特別な組み込みシェルです。残りの定位置パラメータの数は、シフトされる桁数だけ削減されます。
.sp
.LP
\fIn\fR を指定した場合は、シフトする桁数を決定する算術式として評価されます。定位置パラメータの数よりも大きくシフトしたり、負の桁数をシフトしたりすると、エラーが発生します。
.sp
.LP
\fBksh\fR の \fBshift\fR では、次の終了値が返されます。
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.RS 6n
.rt
正常終了。定位置パラメータは正常にシフトされました。
.RE
.sp
.ne 2
.mk
.na
\fB>\fB0\fR\fR
.ad
.RS 6n
.rt
エラーが発生した。
.RE
.sp
.LP
このマニュアルページでは、1 つまたは 2 つの \fB+\fR (プラス符号) が先頭に付加されている \fBksh\fR(1) コマンドは、次のような特殊な処理を受けます。
.RS +4
.TP
1.
コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。
.RE
.RS +4
.TP
2.
\fB入出力のリダイレクトは変数代入後に行われます。\fR
.RE
.RS +4
.TP
3.
エラーが発生すると、それを含むスクリプトは中止されます。
.RE
.RS +4
.TP
4.
これらは有効な関数名ではありません。
.RE
.RS +4
.TP
5.
変数代入形式で、\fB++\fR を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は \fB=\fR 符号のあとに実行され、フィールド分割とファイル名生成は実行されません。
.RE
.SH 属性
.sp
.LP
属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
属性タイプ属性値
_
使用条件system/core-os
.TE
.SH 関連項目
.sp
.LP
\fBcsh\fR(1), \fBksh\fR(1), \fBksh88\fR(1), \fBsh\fR(1), \fBattributes\fR(5)