|
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
|
Expectを使えるか試してみようと「sed」と対話するスクリプトを作った結果・・・
●スクリプト #!/bin/expect -f
spawn sed -e "s/Q/A/g"
set timeout 1
send -raw "Q\n"
expect {
-re "A" {puts "OK!"}
}
send -raw "Q\n"
expect {
-re "Q" {puts "No Change!"}
}
send -raw "Q\n"
expect {
-re "B" {puts "Wrong!"}
}
close
exit
●結果spawn sed -e s/Q/A/g Q A OK! Q No Change! A Q Aなぜに、sendした文字も拾ってるんだーーーー。orz PR |
|
これじゃNG?(@_@:
#!/usr/bin/expect -f spawn sed -e "s/Q/A/g" set timeout 1 log_user 0 send -raw "Q\n" expect { -re "A" {puts "OK!"} } send -raw "Q\n" expect { -re "Q" {puts "No Change!"} } send -raw "Q\n" expect { -re "B" {puts "Wrong!"} } log_user 1 close exit ---- spawn sed -e s/Q/A/g OK! No Change! ---- |
|
sendってsedに標準入力に送ってると思ってたのにexpect_out(buffer)(=sedからの標準出力)にも入っている・・・
皆、この意図で使ってるもんなのかな? Expect→"Q"→「sed -e s/Q/A/g」 答え待ち←"A"← OK! Expect→"Q"→「sed -e s/Q/A/g」 答え待ち←"Q"← No Change! ↑ Qが投げられてAになってないからNGであります! やはり同じこと考える人はいるね。 http://wiki.tcl.tk/17378
【2015/05/06 21:56】| | nwpfh #53232e62cd [ 編集 ]
|
|
|
|
忍者ブログ [PR] |


