環境 ruby 2.5 やりたいこと Rubyでは様々な方法でコマンドを実行できるが、1番シンプルなのはバッククオートを使う方法だと思う p `date` # dateコマンドを実行 これは本当に楽なのだが、欠点が一つあって標準出力は取れるが、標準エラー出力、さらに結果のstatusが取れない。したがってそのコマンドが正常に終了したかどうかはバッククオートのやり方ではわからない そこでsystemuのライブラリ入れたりなんやかんややってたが、実は標準ライブラリで実現できた やりかた open3という標準ライブラリを使う。 require 'open3' cmd = "mkdir /tmp/hoge" stdout, stderr, status = Open3.capture3(cmd) p stdout p stderr p status これで stdoutに標準出力 stderrに標