這樣的設計讓我哭,下面的代碼,請大家幫忙語法錯誤而使用子
def runbatch(CMD,HOST):
print CMD
print HOST
for host in HOST:
env.host_string=host
print CMD
print env.host_string
print "Execute command : \"%s\" at Host : %s" %(CMD,host)
print "-------------------------------------------------"
p=subprocess.Popen("run('ls')",shell=True,
stderr=subprocess.PIPE,
stdin=subprocess.PIPE)
output = p.communicate()
print output
錯誤顯示
(無,「/ bin/sh的:-c:0行:靠近意外的標記'ls''\n/bin/sh: -c: line 0:
運行語法錯誤( 'LS')「\ n」)
你試圖從你的python腳本運行'ls'命令嗎?如果是這樣,請嘗試'p = subprocess.Popen(「ls」,shell = True)'。這應該列出當前標準輸出中的所有文件。 – TuanDT
ls返回正常,但我需要使用fabric運行命令列出遠程主機 – Flasking