打印本文 打印本文 关闭窗口 关闭窗口
Expect学习笔记(1)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2719  更新时间:2009/4/25 0:45:04  文章录入:mintao  责任编辑:mintao
p;                                    send_user "Send a return...\n"
                                                send "\n"
                                        }
                                        2 {
                                                puts stderr "Login time out...\n"
                                                exit 1
                                        }
                                }
                                incr timeout_case
                        }
                }
        }

}

proc do_exec_cmd {} {

        set timeout 5
        send "\n"
        expect "#"
        send "uname -p\n"
        expect "#"
        send "ifconfig -a\n"
        expect "#"
        send "exit\n"
        expect "login:"

        send_user "\n\nFinished...\n\n"

}

if {$argc<2} {

        puts stderr "Usage: $argv0 login passwaord.\n "
        exit 1
}

set LOGIN   [lindex $argv 0]
set PASS    [lindex $argv 1]

spawn telnet 10.13.32.30  7001

do_console_login $LOGIN $PASS
do_exec_cmd

close

exit 0


        上面的脚本只是一个示例,实际工作中,只需要重新实现do_exec_cmd函数就可以解决类似问题了。
        在例1中,还可以学习到以下Tcl的语法:

        1. 命令行参数
          
            $argc,$argv 0,$argv 1 ... $argv n

            if {$argc<2} {
                    puts stderr "Usage: $argv0 login passwaord.\n "
                    exit 1
            }
    
        2. 输入输出
            
            puts stderr "Usage: $argv0 login passwaord.\n "


        3. 嵌套命令

            set LOGIN   [lindex $argv 0]

            set PASS    [lindex $argv 1]

        4. 命令调用        
       
           
spawn t

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口