Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#!/bin/sh # the next line restarts using expect \ exec expect "$0" "$@" # ssh-xterm - # an attempt to automate giving passowrds to "ssh -X". # (Experimental - big mess) # (find-man "1 tclsh" "#!") # (find-es "ssh" "expect-ssh-xterm") # (find-man "3tcl lrange") # (find-man "3tcl llength") # (find-man "3tcl if") # (find-man "1 tclsh") # (find-man "Tcl") # (find-man "1 tclsh" "argv") if {$argc<3} { # (find-man "1 tclsh" "argv0") puts "Typical usage: ssh-xterm aleph@localhost aleph xterm See: (find-angg \"bin/ssh-xterm\") (find-efunction 'eexterm) (find-efunction 'eexterm-args-ne)" exit } set user_at_machine [lindex $argv 0]; # first argument set password [lindex $argv 1]; # second argument set command [lrange $argv 2 end]; # rest puts "$user_at_machine $password [list $command]" eval spawn ssh -X $user_at_machine $command spawn ssh -X $user_at_machine $command proc answer {str} { sleep 0.5; send $str\n } interact { -o "password: " { send_user "p4ssword: "; answer $password } "(yes/no)? " { send_user "(yes/n0)? "; answer yes } } set ignore { * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ssh-xterm ssh-xterm aleph@localhost aleph xterm ssh-xterm aleph@localhost aleph \ xterm -T channel_A -e /home/edrx/eev-current/eegchannel A /usr/bin/zsh ssh-xterm aleph@localhost aleph \ xterm -T channel_A -e /usr/bin/zsh ssh-xterm aleph@localhost al5ph xterm # (find-efunction 'eexterm-args-ne) # (eexterm-args-ne "A" nil nil) (ee-concat (eexterm-args-ne "A" nil nil) " ") (concat "a" "b") } # Local Variables: # coding: raw-text-unix # mode: tcl # ee-anchor-format: "«%s»" # End: