와 어떻게 파이썬과에코 xyz 수행 | ssh를 ... 파이썬
echo xyz | ssh [host]
(호스트에 XYZ를 보내) 을 수행?
나는
pexpect.spawn('echo xyz | ssh [host]')
pexpect 시도했지만 어쩌면 다른 패키지가 더 좋을 것
echo 'xyz | ssh [host]'
을 수행하는거야?
와 어떻게 파이썬과에코 xyz 수행 | ssh를 ... 파이썬
echo xyz | ssh [host]
(호스트에 XYZ를 보내) 을 수행?
나는
pexpect.spawn('echo xyz | ssh [host]')
pexpect 시도했지만 어쩌면 다른 패키지가 더 좋을 것
echo 'xyz | ssh [host]'
을 수행하는거야?
http://pexpect.sourceforge.net/pexpect.html#spawn
파이프로 명령을 실행하는 예를 제공합니다 :
shell_cmd = 'ls -l | grep LOG > log_list.txt'
child = pexpect.spawn('/bin/bash', ['-c', shell_cmd])
child.expect(pexpect.EOF)
이전 잘못된 시도가 아무도 그것에 의해 혼동되지 확인하기 위해 삭제.
xyz를 호스트에 보내고 싶습니다. echo 'xyz | ssh [host] ' – quester
대답을 업데이트했습니다 .... –
@ user4815162342 - 이제 내 대답을 편집하고 내 의견을 삭제했습니다. 같은 것을하기 위해 신경을 써야합니까? –
간단한 쉘 파이프 라인을 시뮬레이트하려면 pexpect
이 필요하지 않습니다.
os.system("echo xyz | ssh [host]")
보다 파이썬 방법은 the subprocess
module 사용하는 것입니다 :
p = subprocess.Popen(["ssh", "host"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE)
p.stdin.write("xyz\n")
output = p.communicate()[0]
pexpect는 출력을 구문 분석하고 프롬프트, 오류 등을 찾지 만 간단한 프로세스를 실행하면 pexpect가 과부하되지만 훨씬 더 강력합니다. –
@ TonySuffolk66 동의 함. 내 답변은 OP가 간단한 쉘 파이프 라인을 포팅해야한다는 가정에 기반합니다.'echo xyz | ssh [host]'를 파이썬으로 옮긴다. 이 질문이 실제로 사실인지 또는 OP가 암호문을 입력하고 양방향으로 의사 소통하는 것과 같이 더 많은 관련 자료에 대해 'pexpect'를 필요로하는지 여부는 명확하지 않습니다. – user4815162342
체크 아웃 [paramiko] (http://www.paramiko.org/ 파이프 라인을 에뮬레이션하는 가장 간단한 방법은
os.system
기능입니다) 당신이 파이썬으로 SSH를하고 싶다면. – Keith