エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rubyで外部コマンドを実行するならopen3が1番よさそう - 動かざることバグの如し
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyで外部コマンドを実行するならopen3が1番よさそう - 動かざることバグの如し
環境 ruby 2.5 やりたいこと Rubyでは様々な方法でコマンドを実行できるが、1番シンプルなのはバックク... 環境 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に標