Linux中的dynamic环境variables?

有没有可能在Linux中有dynamic环境variables

我有一个网站服务器的网站遵循这个布局:

site/ qa/ production/ 

我想有一个环境variables(例如APPLICATION_ENV),当我在qa目录中时设置为“qa”,当我在生产目录中时,设置为“production”。 原因是各个站点可以使用许多不同的stream程,所有stream程都需要知道是QA还是生产环境。 一些网站在Apache下使用PHP,一些使用Node.js,一些网站使用命令行工具,cron作业等等。 我希望得到一个关于是质量保证还是生产环境的授权来源。

Solutions Collecting From Web of "Linux中的dynamic环境variables?"

基于rvm的覆盖:

 cd () { if builtin cd "$@" then if [[ "$PWD" =~ /(qa|production)(/|$) ]] then export APPLICATION_ENV="${BASH_REMATCH[1]}" else unset APPLICATION_ENV fi return 0 else return $? fi } 

只要把这个函数放在.bashrc或其他一些源文件中,然后尝试cdqaproduction或其子目录之一。

您可以在/bin/usr/bin目录之一中创建可执行脚本,并从站点脚本执行脚本。 我不明白为什么你需要破解cd

在/ usr / bin中/其版本:

 #!/bin/bash if [[ "$PWD" =~ /(qa|production)(/|$) ]] then echo "${BASH_REMATCH[1]}" else echo "unknown" fi 

网站:

$env = system("which-version")