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
-

執筆者:

関連記事

no image

Rails3.2でCoffeeScriptをerbテンプレートとして使う件

目次1 リンクのリモートオプションをTrueにする(フォーマットをjsにする設定をしても必要)2 コントローラーでjsフォーマットを有効にする3 viewディレクトリ以下に.js.coffee拡張子で …

KEN_ALL.CSVを使ってRailsで郵便番号を検索するサイトを作る1

  放置しっぱなしだったKEN_ALL.CSVで簡単に郵便番号を検索できるサイトを作ってみた 参考 KEN_ALL.CSVを使える形にする 郵便番号データダウンロード 目次1 KEN_ALL …

no image

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

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

no image

Strong Parameters関連のデバッグ

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

no image

Rails3部分テンプレートとAjax化のまとめ

参考 guides.rubyonrails.org/layouts_and_rendering.html#using-partials また混乱したので公式を参考にして書き直しました 目次1 部分テン …