2014-03-28 52 views
9

我有以下面料任務:面料 - 通過執行將參數傳遞給任務

def ssh_keygen(user, dir): 
    env.user = user 
    run("ssh-keygen %s" % dir) 

我想打電話給它使用「執行」,但需要通過任務的參數。即用戶和dir

execute(ssh_keygen('jbloggs', '/home/jbloggs'), hosts=["server1"]) 

但是這不起作用:

No hosts found. Please specify (single) host string for connection: Traceback (most recent 

反正有沒有做到這一點?

回答

11
execute(ssh_keygen, 'jbloggs', '/home/jbloggs', host="server1") 
+0

謝謝,現在很明顯我看到它, – user1513388

+0

我很好奇,爲什麼執行功能有關鍵字「主機」,而不是 「託管」或「env.hosts」? 由於我使用後者與執行() 謝謝你。 – gprakhar

+0

@gprakhar:據我所知,它應該同時接受'host'和'hosts'(雖然我不完全確定)。如果它不適合你;問一個新問題。 – jfs

相關問題