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