Plemelle at comcast.net
Thu Apr 3 03:57:31 CEST 2008
Thanks for your reply.
The ssh function is just a small part of what I would like to
accomplish. And yes, chk is undefined, I was trying to figure out why
control was not being returned from the sshcon funciton.
I looked for pexpect doucment on http://www.noah.org/wiki/Pexpect, but
the documentaiton link appear to be broken. Could you recommend
On 30 Mar 2008 21:39:46 GMT, Jorgen Grahn <grahn+nntp at snipabacken.se>
>On Fri, 28 Mar 2008 08:12:36 -0700 (PDT), Paul Lemelle <pdl5000 at yahoo.com> wrote:
>> I am trying separate a script that users pexpect into
>> various functions within the same expect session. The
>> problem is that the function does not return control
>> back Main.
>I do not understand what that sentence means.
>> Any insight into this issue would be
>> greatly appreciated. Below is sample code of the
>First, what is the purpose of this program? It seems to be a more
>tedious way to get an ssh login to some Unix host. Ssh can be
>configured to do many things; maybe you do not need Python at all?
>Second, it will fail as soon as you use the undefined object 'chk'.
>Third, if "not return control back Main" means "sshcon() does not
>return", then it is by design. You call go.interact(), which hands
>over control to the user until he types an escape sequence. See the
>Fourth, sshcon() does not handle the full dialogue ssh can give you.
>If you get "are you sure you want to connect" etc, you will hang until
>pexpect.TIMEOUT is thrown.
>I have reformatted the source code to be more readable:
>> import pexpect
>> def sshcon(host, password):
>> go = pexpect.spawn ('/usr/bin/ssh -l root %s ' % host)
>> go.expect ('Password: ')
>> go.sendline (password)
>> #get node info for both clusters.
>> C1_node = raw_input("Enter the ip address for node on cluster 1: ")
>> C1_pass = raw_input("Enter the password for the node on cluster 1: ")
>> sshcon(C1_node, C1_pass)
>> #go to the path
>> chk.expect('# ')
More information about the Python-list