bash script 模擬使用者輸入 - Linux

Kumar avatar
By Kumar
at 2008-11-13T11:22

Table of Contents

※ 引述《winter0128 (winter0128)》之銘言:
: #!/bin/bash
: for((i=1;i<=5;i++))
: do
: <<ZZZ
: ./test1
: $i
: ZZZ
: done
: 推 antontw:搞錯對象,應該用 expect 而不是 bash 11/13 01:04
: → antontw:<< 不是丟到 test1 的 stdin ,所以沒用 11/13 01:05
: → winter0128:可以實際寫出來解釋嗎,還是不太懂 11/13 11:01

expect 是可程式化用在互動模式上的一個對話模組
( programmed dialogue with interactive programs )
# 在 Ubuntu 底下,需要 apt-get install expect

一個簡單的範例:
cat tftpput
<code>
#!/usr/bin/expect
spawn tftp 192.168.1.1
expect tftp>
send bin\r
expect tftp>
send "put $argv\r"
expect tftp>
send quit\r
interact
</code>
使用方式:
./tftpput file.bin

說明:
tftp 連上線,看到 "tftp>" 字串時會丟出 bin 換行,把傳輸 mode 設作 binary
接著等 tftp server 有回應字串,再送出 put file.bin 把 file.bin
送到 tftp server 上面,等做完, tftp server 有回應字串,再送出離開字串,
回到交談模式。

一般程式的回應過程會有很多變數延遲,
也很少那麼剛好就是前面接收程式輸入的點,
所以建議會用 expect 來做這件事情。

--
不過你的 test1 沒有寫明是什麼交談內容,所以我就沒寫"可能"的結果了~
(* ^^*) <--- 其實是 expect 也沒多熟~

--

人不作出犧牲,便得不到任何收穫;如果要得到某種東西,就必須付出同等代價。這一點
,就是鍊金術的基本原則 ── 等價交換。當時我們深信這一點就是世界的真理。

阿爾風斯‧愛力克,《鋼之鍊金術師》開場白

--
Tags: Linux

All Comments

emacs的複製和貼上

Blanche avatar
By Blanche
at 2008-11-13T11:07
※ 引述《noonee (feynman511)》之銘言: : 很抱歉問個蠢問題 : emacs裡要怎麼複製和貼上? : 我查過 C-h tutorial 裏面沒找到 : google後發現 有人推荐 C-k C-y然後 用C-y來複製整行 : 也有人直接去改 .emacs的內容 : 請問真的沒有內建的複製 ...

bash script 模擬使用者輸入

Ula avatar
By Ula
at 2008-11-13T00:23
#!/bin/bash for((i=1;iandlt;=5;i++)) do andlt;andlt;ZZZ ./test1 $i ZZZ done 其中 test1 是一執行檔,執行後會新開一 tt.txt 後等待使用者輸入一數並存入 正常狀況應該最後 ...

Ubuntu8.10的網路問題

Jack avatar
By Jack
at 2008-11-12T23:37
※ 引述《flied (libertines)》之銘言: : 我開機有一半的機會螢幕右下角會出現網路的圖示 : 就是一切都正常 : http://picasaweb.google.com.tw/chenyenlee/Flair#5267771317922290658 : 但是也幾乎有一半的機會 : 右下角的網 ...

Re: mount -oloop 問題?

Todd Johnson avatar
By Todd Johnson
at 2008-11-12T23:32
※ 引述《coscell.bbsatbbs.cis.nctu.edu.tw (goodman)》之銘言: : ==andgt; 在 oldjou.bbsatptt.cc (jou) 的文章中提到: : andgt; rar 有 linux 版本,請自行下載研究看看吧! : andgt; 記得之前是 conso ...

Ubuntu8.10的網路問題

Brianna avatar
By Brianna
at 2008-11-12T22:17
我開機有一半的機會螢幕右下角會出現網路的圖示 就是一切都正常 http://picasaweb.google.com.tw/chenyenlee/Flair#5267771317922290658 但是也幾乎有一半的機會 右下角的網路圖示不會出現 http://picasaweb.google.com.t ...