シェルインタプリタである csh(1)、ksh(1)、および sh(1) には、特殊の組み込みコマンドが用意されています。シェルは、case, for、foreach、function、if、repeat、select、switch、until、および while をコマンドとして解釈します。これらのコマンドの詳細は、各シェルのマニュアルページの「コマンド」の項に記載されています。以下に示すコマンドは、効率の改善とコマンド間でのデータ共有を可能にするため、シェルに組み込まれています。詳細については、各コマンドのマニュアルページを参照してください。
|
コマンド |
組み込み対象シェル |
|---|---|
|
alias |
csh, ksh |
|
bg |
csh, ksh, sh |
|
break |
csh, ksh, sh |
|
case |
csh, ksh, sh |
|
cd |
csh, ksh, sh |
|
chdir |
csh, sh |
|
continue |
csh, ksh, sh |
|
dirs |
csh |
|
echo |
csh, ksh, sh |
|
eval |
csh, ksh, sh |
|
exec |
csh, ksh, sh |
|
exit |
csh, ksh, sh |
|
export |
ksh, sh |
|
false |
ksh |
|
fc |
ksh |
|
fg |
csh, ksh, sh |
|
for |
ksh, sh |
|
foreach |
csh |
|
function |
ksh |
|
getopts |
ksh, sh |
|
glob |
csh |
|
goto |
csh |
|
hash |
ksh, sh |
|
hashstat |
csh |
|
history |
csh |
|
if |
csh, ksh, sh |
|
jobs |
csh, ksh, sh |
|
kill |
csh, ksh, sh |
|
let |
ksh |
|
limit |
csh |
|
login |
csh, ksh, sh |
|
logout |
csh, ksh, sh |
|
nice |
csh |
|
newgrp |
ksh, sh |
|
nohup |
csh |
|
notify |
csh |
|
onintr |
csh |
|
popd |
csh |
|
|
ksh |
|
pushd |
csh |
|
pwd |
ksh, sh |
|
read |
ksh, sh |
|
readonly |
ksh, sh |
|
rehash |
csh |
|
repeat |
csh |
|
return |
ksh, sh |
|
select |
ksh |
|
set |
csh, ksh, sh |
|
setenv |
csh |
|
shift |
csh, ksh, sh |
|
source |
csh |
|
stop |
csh, ksh, sh |
|
suspend |
csh, ksh, sh |
|
switch |
csh |
|
test |
ksh, sh |
|
time |
csh |
|
times |
ksh, sh |
|
trap |
ksh, sh |
|
true |
ksh |
|
type |
ksh, sh |
|
typeset |
ksh |
|
ulimit |
ksh, sh |
|
umask |
csh, ksh, sh |
|
unalias |
csh, ksh |
|
unhash |
csh |
|
unlimit |
csh |
|
unset |
csh, ksh, sh |
|
unsetenv |
csh |
|
until |
ksh, sh |
|
wait |
csh, ksh, sh |
|
whence |
ksh |
|
while |
csh, ksh, sh |
上記のコマンドに対しては、入出力のリダイレクトが可能です。ファイル記述子 1 は、デフォルトの出力位置です。ジョブ制御が有効なときには、さらにいくつかの特殊コマンド がシェル環境に追加されます。
組み込みの予約コマンド以外に、sh では以下のコマンドが使用されます。
コマンドは何もせず、影響は何もありません。終了状態 0 が返されます。
filename で示すファイルからコマンドを読み取り、それを実行し、戻ります。PATH で指定された検索パスを使用して、filename が存在しているディレクトリを見つけます。
組み込みコマンドは C シェル内で実行されます。組み込みコマンドが、パイプラインの いずれかの構成要素 (最後の要素を除く) として現われると、サブシェル内で実行されます。組み込みの予約コマンド以外に、csh では以下のコマンドが使用されます。
NULL コマンド。このコマンドは解釈されますが、実行はされません。
入出力のリダイレクトが可能です。特に断わりのない限り、出力はファイル記述子 1 上に書き込まれ、構文エラーがなければ終了状態は 0 です。
1 つまたは 2 つのアスタリスク (*) が先頭に付加されているコマンドは、 以下のような特殊な処理を受けます。
コマンドが完了しても、コマンドの直前の 変数代入リストは依然として有効です。
入出力のリダイレクトは変数代入後に行われます。
エラーが発生すると、それを含むスクリプトは中止されます。
変数代入形式で、** を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号の後に実行され、ワード分割とファイル名生成は実行されません。
組み込みの予約コマンド以外に、ksh では以下のコマンドが使用されます。
パラメータの展開だけを行います。
file 全体を読み取ってからコマンドを実行します。コマンドは現在のシェル環境において実行されます。PATH で指定された検索パスを使用して、file が存在しているディレクトリを見つけます。引数の arg は ( 指定されていれば ) 定位置パラメータになります。引数を指定しないと定位置パラメタは変更されません。終了状態は、最後に実行されたコマンドの終了状態です。
Intro(1), alias(1), break(1), cd(1), chmod(1), csh(1), echo(1), exec(1), exit(1), find(1), getoptcvt(1), getopts(1), glob(1), hash(1), history(1), jobs(1), kill(1), ksh(1), let(1), limit(1), login(1), logout(1), newgrp(1), nice(1), nohup(1), print(1), pwd(1), read(1), readonly(1), set(1), sh(1), shift(1), suspend(1), test(1B), time(1), times(1), trap(1), typeset(1), umask(1), wait(1), chdir(2), chmod(2), creat(2), umask(2), getopt(3C), profile(4), environ(5)