IzzyMenu.com

Programming(Script,ASSM,Unix-C)

 ·Î±×ÀÎ  È¸¿ø°¡ÀÔ

L4 Expect
ANTON  2009-09-09 17:02:26, Á¶È¸ : 378, Ãßõ : 48

#!/usr/bin/expect --
#
# Usage : ./Session.exp <Password> <Enable Password> [Switch IP]
#
# 2006.1.24
# Copyright Jiwoong Kim.

set timeout        1

set login        [lindex $argv 0]
set enpass        [lindex $argv 1]
set ip          [lindex $argv 2]

set sleeptime        0.5
set prompt        "½ºÀ§Ä¡ÀÇ ÇÁ·ÒÇÁÆ®¸¦ ÀûÀ¸¼¼¿ä."
set ipdefault        "½ºÀ§Ä¡IP¸¦ ÀûÀ¸¼¼¿ä."

# login  password¿Í enable password Ʋ¸± ¶§ SwitchÀÇ ¸Þ½ÃÁö
set login_errmsg "failure"
set en_errmsg        "incorrect password"

# ------------------------------------------
# option È®ÀÎ

if { $enpass == "" } {
        send "Usage : ./Session.exp <Password> <Enable Password> \[Switch IP\] \n\n"
        exit
}

#
if { $ip == "" } {
        set ip        $ipdefault
}

# ------------------------------------------
# login
#

spawn telnet $ip

expect "Enter password:"
sleep $sleeptime
send "$login\r"
send "y\r"


# ------------------------------------------
# command

set count        1

set cmd(1)        "y"
set cmd(2)        "/stat/slb/maint"
set cmd_cnt        [array size cmd]

#
while { $count <= $cmd_cnt } {
        expect $prompt
        sleep $sleeptime
        send "$cmd($count)\r"

        set pause 1
        while { $pause == 1 } {
                expect "Control-c" {
                        sleep 0.3
                        send "y  "
                } timeout {
                        set pause 0
                }
        }

        incr count
}

# ------------------------------------------
# logout

expect $prompt
sleep  $sleeptime
send   "exit\r"



  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2024 Zeroboard / skin by zero