« 比例項の差の変動の計算 | トップページ | xfoilを自動運転 »

expectで計算

expectを使って対話的なセッションを自動でやってみた。

[iijima@localhost blade]$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2 + 5
7

こんな感じのをexpectでやると、こうなる。

#!/usr/bin/expect -f
set force_conservative 1 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if {$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s -- $arg
}
}

set timeout -1
spawn $env(SHELL)
expect -exact "\]\$ "
send -- "bc\r"
expect -exact "bc 1.06"
send -- "2 + 5\r"
expect -exact "7\r"
send -- "^D"
expect eof

もちろんautoexpectコマンドを使って作った雛型を加工してます。

|

« 比例項の差の変動の計算 | トップページ | xfoilを自動運転 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/44043/11180424

この記事へのトラックバック一覧です: expectで計算:

« 比例項の差の変動の計算 | トップページ | xfoilを自動運転 »