# 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