python之fabric(一):环境env

时间:2022-11-01 13:12:16

原文:https://my.oschina.net/indestiny/blog/289587

1. fabric有很多可配置的环境,如:

  • user:默认用于ssh登录的本地用户名。
  • password:用于ssh登录的默认密码,若未提供且未配置ssh无密登录,在执行ssh登录时,需要输入密码。
  • warn_only:是否当在远程机器上执行命令,出现错误时,fabric是否退出。

其他配置可详见:http://docs.fabfile.org/en/1.9/usage/env.html#env-vars

2. settings上下文管理器:

  • 有时,我们希望覆盖env全局配置,而是使用临时配置,你可以用settings,如:
from fabric.api import settings, run

def exists(path):
with settings(warn_only=True):
return run('test -e %s' % path)

3. 其他:

  • 属性读写访问:
# 两种方式:
env.host_string
env['host_string']
  • 变量引用:
# 普通方式
print("Executing on %s as %s" % (env.host, env.user))
# 字典方式
print("Executing on %(host)s as %(user)s" % env)