On Fri, 28 Mar 2008 08:12:36 -0700 (PDT), Paul Lemelle <[EMAIL PROTECTED]> 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 > problem. 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 pexpect documentation. 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) > go.interact() > > #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('# ') > chk.sendline('ls') > > chk.interact() /Jorgen -- // Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu \X/ snipabacken.se> R'lyeh wgah'nagl fhtagn! -- http://mail.python.org/mailman/listinfo/python-list