'\" 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 shell_builtins 1 "2011 年 7 月 27 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 shell_builtins, case, for, foreach, function, if, repeat, select, switch, until, while \- シェル組み込み関数 .SH 機能説明 .sp .LP シェルコマンドインタプリタである \fBcsh\fR(1)、\fBksh\fR(1)、\fBksh88\fR(1)、および \fBsh\fR(1) には、特殊な組み込みコマンドが用意されています。シェルは、\fBcase\fR、\fBfor\fR、\fBforeach\fR、\fBfunction\fR、\fBif\fR、\fBrepeat\fR、\fBselect\fR、\fBswitch\fR、\fBuntil\fR、および \fBwhile\fR をコマンドとして解釈します。これらのコマンドの詳細は、各シェルのマニュアルページの「コマンド」のセクションに記載されています。\fB\fR\fBksh\fR(1)では、\fBfc\fR、\fBhash\fR、\fBstop\fR、\fBsuspend\fR、\fBtimes\fR、および\fBtype\fR はデフォルトでは別名です。 .sp .LP 次に示すコマンドは、効率の改善とコマンド間でのデータ共有を可能にするため、シェルに組み込まれています。詳細については、各コマンドのマニュアルページを参照してください。 .sp .sp .TS tab(); cw(2.75i) cw(2.75i) lw(2.75i) lw(2.75i) . コマンドシェル _ \fBalarm\fRksh \fB++**alias\fRcsh、ksh88、ksh \fBbg\fRcsh、ksh88、ksh、sh \fB+*break\fRcsh、ksh88、ksh、sh \fBbuiltin\fRksh \fBcase\fRcsh、ksh88、ksh、sh \fBcd\fRcsh、ksh88、ksh、sh \fBchdir\fRcsh, sh \fBcommand\fRksh \fB+*continue\fRcsh、ksh88、ksh、sh \fBdirs\fRcsh \fBdisown\fRksh \fBecho\fRcsh、ksh88、ksh、sh \fBenum\fRksh \fB+*eval\fRcsh、ksh88、ksh、sh \fB+*exec\fRcsh、ksh88、ksh、sh \fB+*exit\fRcsh、ksh88、ksh、sh \fB++**export\fRksh88、ksh、sh \fBfalse\fRksh88、ksh \fBfc\fRksh88、ksh \fBfg\fRcsh、ksh88、ksh、sh \fBfor\fRksh88、ksh、sh \fBforeach\fRcsh \fBfunction\fRksh88、ksh \fBgetopts\fRksh88、ksh、sh \fBglob\fRcsh \fBgoto\fRcsh \fBhash\fRksh88、ksh、sh \fBhashstat\fRcsh \fBhist\fRksh \fBhistory\fRcsh \fBif\fRcsh、ksh88、ksh、sh \fBjobs\fRcsh、ksh88、ksh、sh \fBkill\fRcsh、ksh88、ksh、sh \fBlet\fRksh88、ksh、 \fBlimit\fRcsh \fBlogin\fRcsh、ksh88、ksh、sh \fBlogout\fRcsh \fBnice\fRcsh \fB+*newgrp\fRksh88、ksh、sh \fBnohup\fRcsh \fBnotify\fRcsh \fBonintr\fRcsh \fBpopd\fRcsh \fBprint\fRksh88、ksh \fBprintf\fRksh \fBpushd\fRcsh \fBpwd\fRksh88、ksh、sh \fBread\fRksh88、ksh、sh \fB++**readonly\fRksh88、ksh、sh \fBrehash\fRcsh \fBrepeat\fRcsh \fB+*return\fRksh88、ksh、sh \fBselect\fRksh88、ksh \fB+set\fRcsh、ksh88、ksh、sh \fBsetenv\fRcsh \fB*shift\fRcsh、ksh88、ksh、sh \fBsource\fRcsh \fBstop\fRcsh、ksh88、ksh、sh \fBsuspend\fRcsh、ksh88、sh \fBswitch\fRcsh \fBtest\fRksh88、ksh、sh \fBtime\fRcsh \fB*times\fRksh88、ksh、sh \fB*+trap\fRksh88、ksh、sh \fBtrue\fRksh88、ksh \fBtype\fRksh88、ksh、sh \fB++**typeset\fRksh88、ksh \fBulimit\fRksh88、ksh、sh \fBumask\fRcsh、ksh88、ksh、sh \fB+unalias\fRcsh、ksh88、ksh \fBunhash\fRcsh \fBunlimit\fRcsh \fB+unset\fRcsh、ksh88、ksh、sh \fBunsetenv\fRcsh \fBuntil\fRksh88、ksh、sh \fBvmap\fRksh \fBvpath\fRksh \fB*wait\fRcsh、ksh88、ksh、sh \fBwhence\fRksh88、ksh \fBwhile\fRcsh、ksh88、ksh、sh .TE .SS "Bourne シェル (sh) の特殊コマンド" .sp .LP 以下に示す特殊コマンドに対しては、入出力のリダイレクションが可能です。ファイル記述子 1 は、デフォルトの出力位置です。ジョブ制御が可能なときには、さらにいくつかの特殊コマンドがシェル環境に追加されます。\fB\fR .sp .LP 組み込みの予約コマンド以外に、\fBsh\fR では次のコマンドが使用されます。 .sp .ne 2 .mk .na \fB\fB:\fR\fR .ad .RS 15n .rt コマンドは何もせず、実行による影響は何もありません。終了ステータス 0 が返されます。 .RE .sp .ne 2 .mk .na \fB\fB\&.\fR\fIfilename\fR\fR .ad .RS 15n .rt \fIfilename\fR からコマンドを読み取り実行し、戻ります。\fBPATH\fR によって指定された検索パスを用いて、\fIfilename\fR を含むディレクトリを探します。 .RE .SS "C シェル (csh)" .sp .LP 組み込みコマンドは C シェル内で実行されます。組み込みコマンドが、パイプラインの いずれかのコンポーネント (最後のコンポーネントを除く) として現われると、それはサブシェル内で実行されます。組み込みの予約コマンド以外に、\fBcsh\fR では次のコマンドが使用されます。 .sp .ne 2 .mk .na \fB\fB:\fR\fR .ad .RS 5n .rt NULL コマンド。このコマンドは解釈されますが、実行はされません。 .RE .SS "Korn シェル (ksh88) の特殊コマンド" .sp .LP 入出力のリダイレクトが可能です。特に断りのないかぎり、出力はファイル記述子 1 上に書き込まれ、構文エラーがなければ終了ステータスは 0 です。 .sp .LP 1 つまたは 2 つのアスタリスク (\fB*\fR) が先頭に付加されているコマンドは、次のような特殊な処理を受けます。 .RS +4 .TP 1. コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。 .RE .RS +4 .TP 2. \fB入出力のリダイレクトは変数代入後に行われます。\fR .RE .RS +4 .TP 3. エラーが発生すると、それを含むスクリプトは中止されます。 .RE .RS +4 .TP 4. 変数代入形式で、\fB**\fR を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は \fB=\fR 符号のあとに実行され、ワード分割とファイル名生成は実行されません。 .RE .sp .LP 組み込みの予約コマンド以外に、\fBksh88\fR では次のコマンドが使用されます。 .sp .ne 2 .mk .na \fB* \fB:\fR [ \fIarg\fR . . . ]\fR .ad .RS 27n .rt パラメータの展開だけを行います。 .RE .sp .ne 2 .mk .na \fB* \fB\&.\fR\fIfile\fR [ \fIarg\fR . . . ]\fR .ad .RS 27n .rt \fIfile\fR 全体を読み取ってからコマンドを実行します。コマンドは現在のシェル環境において実行されます。\fBPATH\fR によって指定された検索パスを用いて、\fIfile\fR を含むディレクトリを探します。引数の \fIarg\fR が指定されていれば、それが定位置パラメータになります。そうでない場合、定位置パラメータは変更されません。終了ステータスは、最後に実行されたコマンドの終了ステータスです。 .RE .SS "Korn シェル (ksh) の特殊コマンド" .sp .LP 入出力のリダイレクトが可能です。特に断りのないかぎり、出力はファイル記述子 1 上に書き込まれ、構文エラーがなければ終了ステータスは 0 です。 .sp .LP \fB:\fR、\fBtrue\fR、\fBfalse\fR、\fBecho\fR、\fBnewgrp\fR、および \fBlogin\fR を除くすべての組み込みコマンドで、オプションの終わりを示す \fB--\fR を受け入れます。また、オプション \fB--man\fR を、マニュアルページを標準エラーに出力するように求める要求と解釈し、\fB-?\fR を、使用法に関するメッセージを標準エラーに出力するように求めるヘルプ要求と解釈します。 .sp .LP 1 つまたは 2 つの \fB+\fR が先頭に付加されているコマンドは、次のような特殊な処理を受けます。 .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 .sp .LP 組み込みの予約コマンド以外に、\fBksh\fR では次のコマンドが使用されます。 .sp .ne 2 .mk .na \fB\fB:\fR [ \fIarg\fR . . . ]\fR .ad .RS 25n .rt パラメータの展開だけを行います。 .RE .sp .ne 2 .mk .na \fB\fB\&.\fR\fIname\fR [ \fIarg\fR . . . ]\fR .ad .RS 25n .rt \fIname\fR が関数 \fIname\fR の予約語構文で定義された関数である場合、この関数は現在の環境で実行されます (\fBname()\fR 構文で定義されている場合と同様)。それ以外の場合で \fIname\fR がファイルを示しているときは、ファイルの全体が読み取られ、コマンドは現在のシェル環境で実行されます。\fBPATH\fR によって指定された検索パスを用いて、ファイルを含むディレクトリを探します。引数 \fIarg\fR が指定されている場合、\fB\&.\fR コマンドの処理中にこの引数が定位置パラメータになり、終了すると元の定位置パラメータが復元されます。そうでない場合、定位置パラメータは変更されません。終了ステータスは、最後に実行されたコマンドの終了ステータスです。 .RE .SH 関連項目 .sp .LP \fBIntro\fR(1), \fBalias\fR(1), \fBbreak\fR(1), \fBbuiltin\fR(1), \fBcd\fR(1), \fBchmod\fR(1), \fBcsh\fR(1), \fBdisown\fR(1), \fBecho\fR(1), \fBexec\fR(1), \fBexit\fR(1), \fBfind\fR(1), \fBgetoptcvt\fR(1), \fBgetopts\fR(1), \fBglob\fR(1), \fBhash\fR(1), \fBhistory\fR(1), \fBjobs\fR(1), \fBkill\fR(1), \fBksh\fR(1), \fBksh88\fR(1), \fBlet\fR(1), \fBlimit\fR(1), \fBlogin\fR(1), \fBlogout\fR(1), \fBnewgrp\fR(1), \fBnice\fR(1), \fBnohup\fR(1), \fBprint\fR(1), \fBprintf\fR(1), \fBpwd\fR(1), \fBread\fR(1), \fBreadonly\fR(1), \fBset\fR(1), \fBsh\fR(1), \fBshift\fR(1), \fBsleep\fR(1), \fBsuspend\fR(1), \fBtest\fR(1)\fBtest\fR(1), \fBtest\fR(1B), \fBtime\fR(1), \fBtimes\fR(1), \fBtrap\fR(1), \fBtypeset\fR(1), \fBumask\fR(1), \fBwait\fR(1), \fBchdir\fR(2), \fBchmod\fR(2), \fBcreat\fR(2), \fBumask\fR(2), \fBgetopt\fR(3C), \fBprofile\fR(4), \fBenviron\fR(5)