Bou*_*rne 5 python deployment bash fabric python-2.7
我正在使用Fab来部署我的应用程序.我的应用程序的运行取决于$ HOME/.bashrc中设置的一些环境变量.但是,当我使用fab使用以下命令运行应用程序时
run("java -jar app.jar")
Run Code Online (Sandbox Code Playgroud)
此应用程序未按预期运行,因为$ HOME/.bashrc中设置的SMTP_HOST,SMTP_PORT I等环境变量不适用于此应用程序?
我在$ HOME/.bashrc中设置了env变量,如下所示
export SMTP_PORT=abc
Run Code Online (Sandbox Code Playgroud)
在执行run()命令运行应用程序之前,如何确保设置环境变量?
lao*_*yur 10
您可以在以下位置找到以下内容.bashrc
:
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
Run Code Online (Sandbox Code Playgroud)
这意味着结构将永远不会在该块之后提供代码,因为结构以非交互方式运行您的命令(以形式/bin/bash -l -c some_command
)
因此简单的解决方法是移动export SMTP_PORT=abc
到.bash_profile
或.profile