pexpect ssh login and ls | grep
crybaby
joemystery123 at gmail.com
Tue Jan 1 14:24:04 EST 2008
I did try to excute the ssh and shell ls grep command in all in one
like so:
ssh my at mycomp2 "ls mytest.log > /dev/null 2>&1; echo $?"
This seem to work, but also throwing exceptions. Also, including ssh
and shell command together would be a problem when I later add a pass
phrase to ssh key. Can someone provide little insight on this?
>>> import pexpect
>>> child=pexpect.spawn('ssh my at mycomp2 "ls mytest.log > /dev/null 2>&1; echo $?"')
>>>
>>> child.expect([pexpect.TIMEOUT, '\$'])
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/site-packages/pexpect.py", line 1064, in
expect
return self.expect_list(compiled_pattern_list, timeout,
searchwindowsize)
File "/usr/lib/python2.4/site-packages/pexpect.py", line 1132, in
expect_list
raise EOF (str(e) + '\n' + str(self))
pexpect.EOF: End Of File (EOF) in read_nonblocking(). Exception style
platform.
<pexpect.spawn object at 0xb7ea92ac>
version: 2.1 ($Revision: 395 $)
command: /usr/bin/ssh
args: ['/usr/bin/ssh', 'my at mycomp2', 'ls mytest.log > /dev/null 2>&1;
echo $?']
patterns:
pexpect.TIMEOUT
\$
buffer (last 100 chars):
before (last 100 chars): 0
after: pexpect.EOF
match: None
match_index: None
exitstatus: 0
flag_eof: True
pid: 3524
child_fd: 3
closed: False
timeout: 30
delimiter: pexpect.EOF
logfile: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.1
delayafterclose: 0.1
delayafterterminate: 0.1
>>>
>>> result=child.before
>>> result2=child.after
>>> print result
0
>>> print result2
pexpect.EOF
More information about the Python-list
mailing list