我正在尝试使用fabric来安装和部署Web项目,其中我需要创建一个postgresql数据库并配置一个RabbitMQ服务器。这两个操作都是交互式的,并且需要用户输入来创建数据库、添加用户、设置密码等(至少在我所知道的范围内)。 我能否使用fabric脚本执行这样的交互式shell操作?
这是关于Fabric 1.0的内容。我已经尝试过并且它对我有效。 旧版的Fabric(以及类似的高级SSH库)在运行远程程序时会使其无法从本地端进行操作。如果您需要输入密码或者与远程程序进行其他交互,则会带来问题。 Fabric 1.0及更高版本打破了这种局面,并确保您始终可以与远程端进行通信。 来源 编辑:正如Payne在下方提到的,Fabric 1.0已发布。我已编辑答案以表明这一点。
expect
或pexpect
之前,研究这一点可能更有优势。 - JimB