我的遠程服務器(192.168.3.68)包含在我的〜/ .bashrc中設置幾個環境變量:fabfile沒有看到遠程環境變量
# For instance
export MY_DATABASE_HOST=127.0.0.1
當我把run('echo $MY_DATABASE_HOST')
在fabfile.py
,它表明:
[192.168.3.68] run: echo $MY_DATABASE_HOST
[192.168.3.68] output:
Done
Disconnecting from 192.168.3.68... done.
我試過在echo之前加上run('source ~/.bashrc')
但沒有任何變化。
爲什麼在〜/ .bashrc中設置的環境變量對fabfile不可見?
我該如何解決這個問題,因爲fabfile必須能夠讀取這些變量?
UPDATE
from fabric.context_managers import prefix
# This didn't work
with prefix('source /home/meandme/.bashrc'):
run('echo $MY_DATABASE_HOST')
# This didn't work either
run('source /home/meandme/.bashrc && echo $MY_DATABASE_HOST')
這並沒有工作... – smarber