如何回应面料中的可能提示?

时间:2012-10-09 10:10:58

标签: python fabric

当我登录我们的某个服务器时,系统会提示我:

Please select the system to work with:
   1: system1 (user u1)
   2: system2 (user u1)
   3: system3 (user u2)

Enter your choice (1-3) [1]:

我需要输入“1”才能执行任何命令,在登录后立即。 我可以通过结构自动响应此类提示吗?其他盒子可以在没有提示的情况下登录,因此它只是其中一种可能的情况。需要这样的东西:

if prompt("Enter your choice (1-3) [1]:"):
  response("1")
run(command)

如何做到这一点?我读了Interaction with remote programs,但没有找到任何有用的例子。我宁愿只使用面料,如果可能,也不要涉及其他模块。

1 个答案:

答案 0 :(得分:1)

似乎,没办法。

可能的解决方案如下:

  1. 某些命令行工具支持标记,禁止提示输入默认值(如果它是您需要的)。
  2. 您可以使用autoexpect tool中提出的this topic作为可能的解决方案。