fabric 环境问题

用fabric执行命令,在.bashrc里面export的环境变量无法加载?有解决方案吗?
fab代码如下:

from fabric.api import *
env.shell="/bin/bash -l -c"
env.hosts=['user@ip']
def test_run():
      with prefix('source ~/.bashrc'):   
                run('echo $PATH')

远程服务器上.bashrc有如下配置:

export JAVA_HOME=~/jdk1.7.0_75
export PATH=$PATH:${JAVA_HOME}/bin

fabric执行 echo $PATH 没有java相关的配置

我发现一些猫腻了,debian home下面有个.profile这个配置文件,在里面配置的export环境变量可以被fabric加载,太奇怪了。我直接ssh上去可以自动加载.bashrc里面的export变量,晕菜了。

阅读 4.9k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进