我可以用Fabric执行交互式Shell命令吗?

11

我正在尝试使用fabric来安装和部署Web项目,其中我需要创建一个postgresql数据库并配置一个RabbitMQ服务器。这两个操作都是交互式的,并且需要用户输入来创建数据库、添加用户、设置密码等(至少在我所知道的范围内)。

我能否使用fabric脚本执行这样的交互式shell操作?


你知道Expect吗?看一下http://www.noah.org/wiki/pexpect。 - Paulo Scardine
1
大多数(制作精良的)安装程序都有避免交互式问题的方法,或者至少提供配置来脚本化答案。在涉及expectpexpect之前,研究这一点可能更有优势。 - JimB
1个回答

10

这是关于Fabric 1.0的内容。我已经尝试过并且它对我有效。

旧版的Fabric(以及类似的高级SSH库)在运行远程程序时会使其无法从本地端进行操作。如果您需要输入密码或者与远程程序进行其他交互,则会带来问题。

Fabric 1.0及更高版本打破了这种局面,并确保您始终可以与远程端进行通信。

来源

编辑:正如Payne在下方提到的,Fabric 1.0已发布。我已编辑答案以表明这一点。


2
Fabric 1.0于3月6日发布。 - payne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接