簡體   English   中英

在 Fabric 中使用環境變量

[英]Using environment variables in Fabric

假設:

export TEST=/somewhere

我想使用以下命令運行命令/somewhere/program

with cd('$TEST'):
  run('program')

但是,這不起作用,因為$被轉義了。

有沒有辦法在 Fabric 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM