Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Processモジュール > exec
exec(command, *args) -> ()
[permalink][rdoc]カレントプロセスを与えられた外部コマンドで置き換えます。
引数が一つだけ与えられた場合、command が shell のメタ文字
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
を含む場合、shell 経由で実行されます。 そうでなければインタプリタから直接実行されます。
引数が複数与えられた場合、第 2 引数以降は command に直接渡され、 インタプリタから直接実行されます。
第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動する プログラムのパスで、第 2 要素が「みせかけ」のプログラム名になります。
MSDOS 環境の場合、command はサブシェル経由で実行されます。 そうでない場合、command は exec(2) を使用して実行されるので元の プログラムからいくつかの環境を引き継ぎます。
exec "echo *" # echoes list of files in current directory # never get here exec "echo", "*" # echoes an asterisk # never get here