0
#!/usr/bin/python
import subprocess
import sys
HOST=raw_input("\nInsert server(ex: xxXX.city):\n\n")
IP=raw_input("\nInsert ip:\n\n")
print ''
COMMAND='show arp hostname %s' % IP
COMMAND2='show route table inet.0 %s' % IP
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND, COMMAND2],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
if result == 'xxx':
error = ssh.stderr.readlines()
print >>sys.stderr, "ERROR: %s" % error
else:
print ''.join(result)
我得到這個錯誤:發送通過ssh兩個命令在一個subprocess.Popen列表
錯誤:語法錯誤:顯示
我猜是有問題兩個命令鏈接在一個子進程中.Popen。我這樣說是因爲它看起來像執行每一個沒有問題。只有當我把他們鏈接,我得到的錯誤。我查了一下,但是我還沒有發現關於用Popen一次性執行兩條命令的一些明確信息..有沒有辦法使它們像上面那樣工作,但有一點麻煩,還是我必須更改子進程?謝謝