我想运行一个命令,提示我输入yes/no或y/n或者其他什么.如果我只是运行命令local("my_command")然后它停止并要求我输入.当我输入所需内容时,脚本继续工作.如何自动响应提示?
寻求意味着让Fabric自动(而不是用户交互式)与shell命令交互(而不仅仅是密码请求,还有没有"stdin/interactive override"的请求用户输入apt-get install -y).
这个问题以及这些Fabric文档表明Fabric只能"将交互性"推回到运行Fabric程序的人类用户.寻求在没有任何人类存在的情况下完全自动化.还没有一个"真正的"当前问题需要解决,只是为可能的未来障碍做准备.
如果Fabric不能自动独占处理所有stdin /提示,那么与pexpect(或类似的替代机制)结合可能很有用吗?希望它不需要是"任何/或"类型的东西.为什么不在适当的情况下(如果适用)在同一程序/自动化中同时利用(pexpect和Fabric)?
这与这个问题有关,但略有不同:我不需要传递'yes'或'no',而是需要Fabric将任意字符串传递给远程shell.
例如,如果远程shell提示"你叫什么名字?" 然后我需要'先,最后'喂它.
澄清:我知道我说过任意输入,但当我尝试做一个git pull时,我真的试图将它用于SSH密钥passwd提示.
更新#1:得到了Jeff Forcier @bitprophet的回复