![]() |
1
32
试着传球
else块如下所示:
|
![]() |
2
13
实际上,您并没有遇到问题;您误解了Fabric run()和sudo()的工作方式。
下面是一组简单的规则: 1) 如果不需要提示,请使用“run()”。 2) 如果确实需要提示,请使用“sudo()”。(对于需要提示的所有或大多数命令都应该如此,即使所讨论的可执行文件不是Bash或Sudo)。 同样的答案也适用于那些试图在“sudo”下运行命令的人。即使sudoers在某些系统上为当前用户提供了无密码配置,如果使用sudo()而不是run(),则会强制提示(除非结构代码已经包含ENV密码或密钥)。 顺便说一句,《织物》的作者在IRC中回答了我的问题——与你的问题非常相似。不错的家伙,开源的无名英雄之一,因为他坚持他的结构和Paramiko工作。
…在我的测试环境中,总有一个用户名对sudo具有完全无密码的访问权限。打字
|
![]() |
3
13
您可以使用:
|
![]() |
4
6
其中user是sudo用户,some\ u command是要使用fabric运行的命令,然后在fabric脚本上运行sudo it with shell=False:
这对我有用 |
![]() |
5
2
在你的
|
![]() |
6
1
但我在尝试将graphite fabric安装到ec2ami时发现了这个问题。Fabric不断提示输入根密码。 最后的诀窍是将ssh私钥文件传递给fabric。
|
![]() |
7
1
您还可以对多台计算机使用密码:
|
![]() |
8
0
answer 令人困惑。
支持的实现方法是使用
我的使用示例:
|
![]() |
Meny Issakov · 结构、@并行和动态变化的主机 10 年前 |
![]() |
Yogesh Mangaj · 如何从Fabric的本地命令捕获stderr? 12 年前 |
![]() |
CoatedMoose · 有没有办法指定结构中可用命令的顺序? 12 年前 |