2011-03-03 213 views
11

我试图使用fabric来安装和部署一个web项目,在此期间我需要创建一个postgresql数据库并配置一个RabbitMQ服务器。这两个操作都是交互式的,需要用户输入用于创建数据库,添加用户,设置密码等(至少据我所知)。我可以使用Fabric来执行交互式shell命令吗?

我可以使用结构脚本来执行像这样的内部shell操作吗?

+0

你知道Expect吗?看一看http://www.noah.org/wiki/pexpect –

+1

大多数(制作精良的)安装程序都有避免交互式问题的方法,或者至少提供配置来编写答案脚本。在进入“预期”或“观察”之前,研究这一点可能更为有利。 – JimB

回答

10

这是在Fabric 1.0中。我试过了,它对我很有用。

较旧版本的Fabric(以及类似的高级别SSH库)以远程方式运行远程程序,无法从本地端接触到。当您严重需要输入密码或以其他方式与远程程序交互时,这会产生问题。

Fabric 1.0和更高版本打破了这面墙,并确保您可以随时与另一面通话。

Source

编辑:如下佩恩指出,面料1.0发布。我编辑了答案来表明这一点。

+2

Fabric 1.0于3月6日发布。 – payne

相关问题