名前 | 形式 | 機能説明 | 終了ステータス | 属性 | 関連項目
exec [argument]...
eval [argument]...
exec command
eval argument...
source [-h] name
*exec [arg]...
*eval [arg]...
exec コマンドはこのシェルの代わりに、argument で指定されたコマンドを、 新規プロセスは生成せずに実行します。入出力引数が指定可能で、 それら以外の引数を指定しない場合には、 シェルの入出力を変更します。
eval の組み込みの argument をシェルへの入力として読み取り、 生成されるコマンドを実行します。
exec は現在のシェルの代わりに command を実行します。シェルは終了します。
eval は引数をシェルへの入力として読み取り、 生成されるコマンドを実行します。通常この指定は、コマンドまたは 変数置換の結果として生成されたコマンドを 実行するために使用します。
source は name からコマンドを読み取ります。source コマンドはネストできますが、あまり深くネストするとシェルのファイル記述子が 不足する可能性があります。ソースファイル中のエラーは、それがいかなるレベルであろうと、ネストされたすべての source コマンドを終了させます。
name が示す、履歴リスト上のファイル からコマンドを持ってきますが、実行はしません。
exec 組み込み関数を使用して arg を指定すると、このシェルの代わりに引数で指定されたコマンドを、 新規プロセスは生成せずに実行します。入出力引数が指定可能で、 現在のプロセスに影響を及ぼす場合があります。引数を指定しない場合は、ファイル記述子が、入出力リダイレクトリストの指定どおりに 変更されることになります。この場合、この機能によりオープンされた 2 より大きい番号のファイル記述子は、別のプログラムを起動するとクローズされます。
eval に続く引数をシェルへの入力として読み取り、 生成されるコマンドを実行します。
1 つまたは 2 つのアスタリスク (*) が先頭に付加されている ksh(1) コマンドは、 以下のような特殊な処理を受けます。
コマンドが完了しても、コマンドの直前の 変数代入リストは依然として有効です。
入出力のリダイレクトは変数代入後に行われます。
エラーが発生すると、それを含むスクリプトは中止されます。
変数代入形式で、** を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、ワード分割とファイル名生成は実行されません。
ksh の場合
command が見つからない場合、終了ステータスは 127 となります。command は見つかったが実行可能なユーティリティではない場合、終了ステータスは 126 となります。リダイレクトのエラーが発生した場合、シェルは 1 〜 125 の範囲内の値で終了します。リダイレクトのエラーが発生しなかった場合、 exec は 0 の終了ステータスを返します。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWcsu |