这与这个问题有关,但略有不同:我不需要传递'yes'或'no',而是需要Fabric将任意字符串传递给远程shell.
例如,如果远程shell提示"你叫什么名字?" 然后我需要'先,最后'喂它.
澄清:我知道我说过任意输入,但当我尝试做一个git pull时,我真的试图将它用于SSH密钥passwd提示.
更新#1:得到了Jeff Forcier @bitprophet的回复
这就像现在的#1疣:(需要通过隧道发送带外密钥代理或远程提示).
我的意思是在Fabric中添加对这些东西的支持,这是我们需要做的才能让网络传播的git ops工作
添加一种简单的方法来启动OOB ssh代理友好的隧道将更容易/更快,最有可能.很快可能
Jasper van d.. 5
我已经在邮件列表的Fabric中为这个功能提出了一个API,最后我自己写了一些东西:
from fexpect import expect, expecting, run prompts = [] prompts += expect('What is your name?','John') prompts += expect('Where do you live?','New York') with expecting(prompts): run('command')
请参阅我的博客文章,期待面料中的提示与fexpect
我已经在邮件列表的Fabric中为这个功能提出了一个API,最后我自己写了一些东西:
from fexpect import expect, expecting, run prompts = [] prompts += expect('What is your name?','John') prompts += expect('Where do you live?','New York') with expecting(prompts): run('command')
请参阅我的博客文章,期待面料中的提示与fexpect