RubyOnRails

Rubyで対話型のコマンドを実行する~pty expect

投稿日:

 

Rubyから普通のLinuxコマンドを実行するのはコマンドで実行できる
たとえば、Linuxコマンドがなんらかの入力を要求するときはexpectライブラリを使えばいいらしい

www.ruby-forum.com/topic/83119

ここで、サンプルがあったので試してみた

しかし、これを実行してもうまくいかない

まず、結果を出力するのは

その結果

んー 途中で止まってるような

コマンドラインで試してみる

d.hatena.ne.jp/takuya_1st/20110919/1316426672

PTYは仮想端末を作成して、このスクリプトの場合、r_fで端末の出力、w_fで端末の入力を行う

expectはr_fから希望する文字列がくるのを待って、処理を実行する

問題はプロンプト待ちの r_f.expect("> ") do |output|がシンボリックリンク?の ->も拾ってるからっぽい

名前つきのプロンプトを指定すれば

。。。

正規表現を最小マッチにする?をつければ

うん

 

-RubyOnRails
-

執筆者:

  • suisui

    通りすがりのついでに

    でどうでしょう?

関連記事

no image

Rails3.2で関連するモデルのフォームをあわせて表示~accepts_nested_attributes_for & fields_for

Railsで関連するモデルのフォームを表示するメモ またハマったので手順をメモ 目次1 Model2 View3 Controllerでもどこでも Model [crayon-5977ae7675f7 …

no image

Strong Parameters関連のデバッグ

関連するモデルの保存がうまく出来ない場合、本体のモデルの保存はうまく出来ているのでエラーは出ない。 サーバーのログをみると、 Unpermitted parameters という …

githubライクなuiを持つgitlabを試す

  gitoliteリポジトリをバックエンドにしたrails製でgithubライクなweb uiを持つgitlabを試してみた 環境 ubuntu server 12.04.1 目次1 準備 …

no image

Railsで2ch風掲示板を作ってみた

  今年のGWに作った動画です Railscastsとドットインストールに触発されてチュートリアルみたいなものを作ってみたくてやりました 途中で辞めてしまいましたが Ruby on Rail …

no image

Rails3.2とBackbone.jsでToDoアプリを作ってみた~backbone-on-rails

  公式 backbonejs.org/ Backbone ドキュメント日本語訳 github.com/enja-oss/Backbone イントロダクション github.com/enja