# Generic UNIX login script.
# Can be used to automatically login to almost every UNIX box.
#
# Some variables.
set a 0
set b a
print Trying to Login..
# Skip initial 'send ""', it seems to matter sometimes..
goto skip
loop1:
# Send loginname not more than three times.
send ""
inc a
skip:
if a > 3 goto failed1
expect {
"ogin:"
"assword:" send ""
"NO CARRIER" exit
timeout 60 goto loop1
}
loop2:
send "$(LOGIN)"
# Send password not more than three times.
inc b
if b > 3 goto failed1
expect {
"assword:"
"ogin:" goto loop2
timeout 60 goto loop2
}
send "$(PASS)"
# If we don't get "incorrect" within 3 seconds, it's probably OK.
# If they ask for a terminal, we are logged in. Tell them we're
# using vt100.
# If we get the bash prompt, send them the screen geometry.
expect {
"TERM=" goto wantterm
"incorrect" goto loop1
"bash$" goto screengeom
timeout 3 break
"asswd" break
}
exit
wantterm:
send "vt100"
exit
screengeom:
send "stty rows $(TERMLIN) columns 80"
# If you use a display mode with some other width than 80 columns,
# you may want to use the following format.
#send "stty rows $(TERMLIN) columns $(COLUMNS)"
exit
failed1:
print \nLogin Failed (wrong password?)
exit