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
-

執筆者:

関連記事

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

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

heroku操作メモ

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

no image

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

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

erbで要素のidやclassを指定するならcontent_tag_forとdiv_forが便利だった

no image

Rails3でrtfを出力

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