我正在尝试将配置文件config.PATH
中的变量添加到此Fabric运行命令中:
run('cd $(config.PATH); mkdir releases; mkdir shared; mkdir packages;', fail='ignore')
但我收到错误:
typeError:run()得到意外的关键字参数'fail'
我怎样才能实现我想要的目标?还是有更好的方法?
答案 0 :(得分:2)
错误告诉你的是run
不接受名为fail
的参数,事实上,如果你看fabric docs for the run()
function,你会发现没有提到这样的参数。
这与尝试在命令中注入变量无关。
如果您的目的是忽略错误,则应使用warn_only
或quiet
。来自文档:
要忽略非零返回码,请指定
warn_only=True
。二者皆是 忽略非零返回码并强制命令以静默方式运行, 指定quiet=True
。
至于config变量的注入,我不相信它会起作用。通常,您可以使用python的常规字符串格式设置,但对于您的用例,您最好使用fabric cd
context manager:
with cd(config.PATH):
run('YOUR COMMAND HERE')
这将在块中的命令(或命令)的持续时间内更改远程工作目录。