Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > open3ライブラリ > Open3モジュール > capture3

module function Open3.#capture3

capture3(*cmd) -> [String, String, Process::Status][permalink][rdoc]

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラー、プ ロセスの終了ステータスを表すオブジェクトを返します。

[PARAM] cmd:
実行するコマンドを指定します。
[RETURN]
実行したコマンドの標準出力と標準エラー、プロセスの終了ステータ スを表すオブジェクトを配列で返します。

指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て Open3.#popen3に渡されます。opts[:stdin_data]は実行するコマンドの 標準出力に渡されます。opts[:binmode]を真に指定されると内部で使用される パイプをバイナリモードに指定します。

例:

require "open3"

o, e, s = Open3.capture3("echo a; sort >&2", :stdin_data=>"foo\nbar\nbaz\n")
p o #=> "a\n"
p e #=> "bar\nbaz\nfoo\n"
p s #=> #<Process::Status: pid 32682 exit 0>

Open3.#popen3と同様に引数に環境変数とオプションを指定してコマンド を実行する事ができます。

[SEE_ALSO] Open3.#popen3