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

module function Open3.#capture2e

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

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

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

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

例:

require "open3"

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

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

[SEE_ALSO] Open3.#popen3