2017-01-12 14 views
0
>>> from pexpect import pxssh 
>>> s=pxssh.pxssh() 
>>> s.login('10.10.62.253','USER','PASSWORD',auto_prompt_reset=True) 
True 
>>> s.sendline('echo Test'); 
10 
>>> s.prompt() 
True 
>>> s.after 
'[PEXPECT]# ' 
>>> s.PROMPT='BTEQ -- Enter your SQL request or BTEQ command:' 
>>> s.sendline('bteq .logon dbc,dbc') 
20 
>>> s.prompt() 
True 
>>> s.after 
'BTEQ -- Enter your SQL request or BTEQ command:' 
>>> s.sendline('quit;') 
6 
>>> s.prompt() 
False 
>>> s.PROMPT='[PEXPECT]# ' 
>>> s.prompt() 
False 
>>> s.sync_original_prompt() 
True 
>>> s.prompt() 
False 

에서 'sync_original_prompt을'PROMPT 변수를 재설정해야 사용하고, s.prompt()True 발생한다. 그러나 그렇지 않습니다. 누구든지 PROMPT 변수를 원래 프롬프트로 재설정하는 방법을 알려주실 수 있습니까? sync_original_prompt 속성을 어떻게 사용합니까?어떻게 여기 <code>[PEXPECT]#</code> 인, 신속한 초기에 <code>s.sync_original_prompt()</code> 후 pxssh 모듈 내 이해 당으로

감사합니다.

답변

0
  • 초기 s.PROMPT (A 정규 표현식 문자열) 실제로 '\\[PEXPECT\\][\\$\\#] '하지 [PEXPECT]#입니다.

    savePrompt = s.PROMPT 
    
    s.PROMPT = 'a-new-prompt' 
    s.sendline('bteq ...') 
    s.prompt()     # expect the new prompt 
    
    s.PROMPT = savePrompt  # restore the saved prompt 
    s.sendline('quit;') 
    s.prompt()     # expect the saved prompt 
    
  • sync_original_prompt()은 다음과 같이 사용한다 : 나는 당신이 이런 식으로 쓰기 좋을 것

    s.sync_original_prompt() # this make sure you are at the prompt 
    s.set_unique_prompt() # change the shell's prompt to the default PROMPT 
    s.sendline('run some command') 
    s.prompt() 
    
+0

감사합니다 .. !! :) –