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拡張子で …

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

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

no image

Rails3でrtfを出力

  rtfはリッチテキストフォーマット、ms wordなどで扱えるほか、標準添付のwordpadなどでも扱える config/initializers/mime_types.rbを編集 [c …

collection_selectに複数カラムのテキスト情報を表示

include multiple column value in Ruby on rails Collection_select. Also format the date モデルに [crayon- …

heroku操作メモ

By: Yasuhiko Ito – CC BY 2.0 目次1 はじめに2 アプリの新規作成3 アプリの更新 はじめに 5分でRailsアプリを公開できるherokuですが、いつもステッ …