- #!/usr/bin/expect -f
- set ip [lindex $argv 0]
- set pass [lindex $argv 1]
- set enable [lindex $argv 2]
- set force_conservative 0 ;# set to 1 to force conservative mode even if
- ;# script wasn't run conservatively originally
- if {$force_conservative} {
- set send_slow {1 .1}
- proc send {ignore arg} {
- sleep .1
- exp_send -s -- $arg
- }
- }
- #
- # 2) differing output - Some programs produce different output each time
- # they run. The "date" command is an obvious example. Another is
- # ftp, if it produces throughput statistics at the end of a file
- # transfer. If this causes a problem, delete these patterns or replace
- # them with wildcards. An alternative is to use the -p flag (for
- # "prompt") which makes Expect only look for the last line of output
- # (i.e., the prompt). The -P flag allows you to define a character to
- # toggle this mode off and on.
- #
- # Read the man page for more info.
- #
- # -Don
- set timeout -1
- spawn $env(SHELL)
- match_max 100000
- send -- "ssh pix@$ip\r"
- expect "'s password: "
- send -- "$pass\r"
- expect "> "
- send -- "enable\r"
- expect "enable\r
- Password: "
- send -- "$enable\r"
- expect "# "
- send -- "terminal pager 0\r"
- expect "# "
- send -- "show conn\r"
- expect "# "
- send -- "exit\r"
Raw Paste