【Ruby3.x】exec()関数の使い方
exec関数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
exec関数は、外部コマンドを実行する関数です。この関数は、現在のRubyプロセスを、指定された外部コマンドのプロセスに完全に置き換えます。そのため、exec関数が正常に実行されると、現在のRubyスクリプトは終了し、それ以降のコードは実行されません。
コマンドは、コマンドと引数をスペースで区切った単一の文字列として渡すか、あるいはコマンド名を最初の要素とし、その後の引数を配列の要素として渡すことができます。後者の形式は、引数にスペースや特殊文字が含まれる場合に、シェルによる解釈を避けるために利用されます。
成功した場合、呼び出し元に制御が戻らないため、戻り値はありません。コマンドが見つからない、または実行できない場合は、Errno::ENOENTのような例外が発生します。この場合、exec関数は失敗と判断され、Rubyスクリプトの実行は継続されます。
この関数は、Rubyスクリプトの処理を完全に外部プログラムに移行させたい場合や、現在のプロセスを特定のコマンドの実行に特化させたい場合に有用です。
構文(syntax)
1exec "ls", "-l"
引数(parameters)
rest
- rest: 実行するコマンドと、それに渡す引数(配列または個別の引数)
戻り値(return)
戻り値なし
戻り値はありません