【Ruby3.x】system()関数の使い方
system関数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
system関数は、Rubyプログラムの内部からオペレーティングシステム(OS)のシェルコマンドを実行する関数です。この関数は、指定されたコマンド文字列をOSに渡して実行させ、その結果をRubyプログラムに返します。
例えば、「ls -l」のようなファイル一覧を表示するコマンドや、「mkdir my_directory」のようなディレクトリを作成するコマンドなど、ターミナルで手動で実行するような外部プログラムやスクリプトをRubyコードから呼び出すことができます。
system関数にコマンドを渡すと、Rubyプログラムは一時的にそのコマンドの実行を待ちます。コマンドが正常に終了した場合、system関数はtrueを返します。もしコマンドの実行が失敗したり、存在しないコマンドであったりした場合は、falseを返します。コマンドの標準出力(例えばls -lの結果)は、Rubyプログラムの標準出力に直接表示されます。
この関数は、Rubyプログラムが外部のツールやユーティリティと連携する必要がある場合に非常に便利です。たとえば、画像処理の外部ライブラリを呼び出したり、システムの設定を変更するシェルスクリプトを実行したりする場合などに利用されます。ただし、実行するコマンドが何であるか、またそのコマンドがどのような副作用を持つかを常に確認し、意図しない動作を防ぐことが重要です。
構文(syntax)
1system("command string")
引数(parameters)
*rest
- *rest: 任意の数の引数を配列として受け取ります
戻り値(return)
真偽値またはnil
system メソッドは、指定されたコマンドを実行し、その実行結果を真偽値または nil で返します。コマンドが正常に実行された場合は true を、エラーが発生した場合は false を、コマンドが見つからなかった場合は nil を返します。