我正在尝试使用Fabric在远程计算机上运行命令。
这很好用,直到远程计算机上的命令是交互式的。在这种情况下,Fabric返回交互式shell,但强制我输入所需的信息,而我正在尝试发送一个在远程执行所有操作的命令,因此我可以自动执行该过程。
示例:
from fabric.api import *
env.hosts=['myhost.mydomain']
env.user='root'
run(test1/myapp; exectask; exit)
我在远程机器上运行一个cli应用程序,它使用交互式shell,所以它等着我输入命令(exectask);然后一旦完成,退出,我调用exit命令。
现在发生的是应用程序启动,Fabric向我显示交互式UI,我仍然需要输入exectask,然后退出。
如何告诉fabric运行该应用程序,然后将命令传递给交互式shell,然后退出以退出?
我看到Fabric具有提示功能,但这是要求用户输入数据,而我只想传递命令并获得结果。