unixlogin
上传用户:tianjinjs
上传日期:2007-01-05
资源大小:309k
文件大小:1k
源码类别:

Modem编程

开发平台:

Unix_Linux

  1. # Generic UNIX login script.
  2. # Can be used to automatically login to almost every UNIX box.
  3. #
  4. # Some variables.
  5. set a 0
  6. set b a
  7. print Trying to Login..
  8. # Skip initial 'send ""', it seems to matter sometimes..
  9. goto skip
  10. loop1:
  11. # Send loginname not more than three times.
  12. send ""
  13. inc a
  14. skip:
  15. if a > 3 goto failed1
  16. expect {
  17. "ogin:"
  18. "assword:" send ""
  19. "NO CARRIER" exit
  20. timeout 60 goto loop1
  21. }
  22. loop2:
  23. send "$(LOGIN)"
  24. # Send password not more than three times.
  25. inc b
  26. if b > 3 goto failed1
  27. expect {
  28. "assword:"
  29. "ogin:" goto loop2
  30. timeout 60 goto loop2
  31. }
  32. send "$(PASS)"
  33. # If we don't get "incorrect" within 3 seconds, it's probably OK.
  34. # If they ask for a terminal, we are logged in. Tell them we're
  35. # using vt100.
  36. # If we get the bash prompt, send them the screen geometry.
  37. expect {
  38. "TERM=" goto wantterm
  39. "incorrect" goto loop1
  40. "bash$" goto screengeom
  41. timeout 3  break
  42. "asswd" break
  43. }
  44. exit
  45. wantterm:
  46. send "vt100"
  47. exit
  48. screengeom:
  49. send "stty rows $(TERMLIN) columns 80"
  50. # If you use a display mode with some other width than 80 columns,
  51. # you may want to use the following format. 
  52. #send "stty rows $(TERMLIN) columns $(COLUMNS)"
  53. exit
  54. failed1:
  55. print nLogin Failed (wrong password?)
  56. exit