Posted to tcl by Texan at Tue May 23 14:49:10 GMT 2017view raw
- #!/usr/bin/expect
- set passwdPrompt "password"
- set loginUser "user"
- set loginPassword "pass"
- set address "addr"
- spawn ssh -l $loginUser $address
- expect "$passwdPrompt" {
- send "$loginPassword\r"
- }
- proc login_from_protected_shell { } {
- set timeout 2
- expect {
- timeout {
- puts "Function 1 timed out"
- return 1
- }
- "<protected shell>" {
- send -- "shell\r"
- exp_continue
- }
- "password" {
- send "<somepass>\r"
- exp_continue
- }
- "<shell>" {
- # nothing to do, success!
- return 0
- }
- }
- }
- proc other_things_to_do { } {
- expect "<shell>" {
- send "cd /home/mydir\r"
- }
- expect "<shell>" {
- send "touch poop.pee\r"
- return 0
- }
- }
- # drop to a shell
- login_simple
- # download the base
- other_things_to_do