• A Telnet Client Using Expect


    The following expect script achieves a simple telnet client: login -> send command -> exit. The point is the form of prompt in regular expression. You have to add 3 backslash before "[", "]" and "$", and add "-re" option after expect command in "expect $prompt".

    #!/usr/bin/expect set prompt "[hadoop@49servers.*]\$s" spawn telnet 10.0.2.49 expect "login:" send "hadoop " expect "Password:" send "h " expect -re $prompt send "df -h " expect -re $prompt send "ls -l " expect -re $prompt send "exit " expect eof

    The following script achieves auto-login and auto-logout. Save it as autoTelnet.exp:

    #!/usr/bin/expect set ip [lindex $argv 0] set username [lindex $argv 1] set password [lindex $argv 2] spawn telnet $ip expect "login:" send "$username " expect "Password:" send "$password " interact +++ return send "exit " expect eof

    then run it:

    $ ./autoTelnet.exp 10.0.2.49 hadoop h

    After auto-login, you can send any commands as if you communicates with host directly. When you want to quit, type "+++" and then the script exits from interact mode and runs logout routine.

  • 相关阅读:
    Programming Contest Ranking(题解)
    Alphabet Cookies
    hpu 1267 Cafeteria (01背包)
    Triangles 正多边形分割锐角三角形
    ACdream 1067:Triangles
    hdu 1253 胜利大逃亡 (代码详解)解题报告
    最短路
    POJ- 1511 Invitation Cards
    E
    HDU
  • 原文地址:https://www.cnblogs.com/darkmatter/p/3606770.html
Copyright © 2020-2023  润新知