[英]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')
也可以使用(默認情況下,可選)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.