2014-03-28 1 views
9

나는 다음과 같은 패브릭 작업이 있습니다직물 - 실행을 통해 작업에 인수를 전달

def ssh_keygen(user, dir): 
    env.user = user 
    run("ssh-keygen %s" % 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'실행 하는가? 후자를 execute()와 함께 사용하면 오류가 발생하므로 감사합니다. – gprakhar

+0

@ gprakhar : 내가 기억하는 한 '호스트'와 '호스트'를 모두 받아 들여야합니다 (완전히 확신 할 수는 없지만). 그것이 당신을 위해 작동하지 않는 경우; 새로운 질문을하십시오. – jfs