这是我的面料功能:
def replace_config(vim_sig, bash_sig):
""" replace remote server config with local config
"""
default_path = change_path('config', default_path='~/')
if vim_sig:
local("scp %s.vimrc admin@%s:~/vimrc" % (default_path, env.host))
sudo("cp /home/admin/vimrc /home/admin/.vimrc")
sudo("cp /home/admin/vimrc /root/.vimrc")
sudo("rm /home/admin/vimrc")
if bash_sig:
local("scp %s.bashrc admin@%s:~/bashrc" % (default_path, env.host))
sudo("cp /home/admin/bashrc /home/admin/.bashrc")
sudo("cp /home/admin/bashrc /root/.bashrc")
sudo("rm /home/admin/bashrc")
# Some other code was omitted here
我使用fab replace_config:vim_sig=False,bash_sig=True
,fab replace_config:False,True
和fab replace_config:0,1
执行了此操作,但这些命令将vimrc
复制到远程主机并忽略if vim_sig
语句。
为什么会这样?我该如何解决?
我的面料版本是1.10.1,我使用参数执行fab的方式来自here。