使用织物中的环境变量



假设:

export TEST=/somewhere

我想使用:

运行命令/somewhere/program
with cd('$TEST'):
  run('program')

但是,这是不起作用的,因为$被逃脱了。

有没有办法在织物cd()调用中使用环境变量?

遵循@andrewwalker的建议,这是一个更紧凑的解决方案,对我有用(据我所知,结果是相同的):

with cd(run("echo $TEST")):
  run("program")

,但我决定选择一个(非常)更简洁但可读的解决方案:

run('cd $TEST && program')

如果我正确的话,第二个解决方案会产生相同的结果。

您可以使用echo

捕获该值
testdir = str(run("echo $TEST"))
with cd(testdir):
    run("program")

替代:

import os
def my_task():
    with lcd(os.environ['TEST_PATH']):
        local('pwd')

os.getenv('TEST_PATH')也可以使用(默认值,可选)

帽子提示:将Bash环境变量发送回Python Fabric

相关内容

  • 没有找到相关文章

最新更新