X

使用 expect 來建立 Shell 文字輸入自動化

以前 BBS 要自動登入, 並順便做某些事情, 有個很方便的工具叫 expect.

於 Linux CLI 的 Shell 執行的指令, 可以使用 expect 來達到自動輸入的效果.

BBS 自動登入的 Script 範例

  • vim ptt.sh
    #!/usr/bin/expect -c
    spawn telnet -8 ptt.cc
    expect 輸入代號:
    send "id\n"
    send "password\n"
    
    # 下面這行就請自行調整了、 \n = Enter 鍵
    send "\n\nt\nu\n"
    
    # 每 300 秒送出一次 s 鍵
    interact timeout 300 { send "s" }
    exit
  • vim bbs.sh
    #!/usr/bin/expect
    spawn telnet -8 "[lrange $argv 0 0]"
    interact timeout 300 { send "\x00" }
    exit

相關網頁

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post