有没有可能在Linux中有dynamic环境variables?
我有一个网站服务器的网站遵循这个布局:
site/ qa/ production/
我想有一个环境variables(例如APPLICATION_ENV),当我在qa目录中时设置为“qa”,当我在生产目录中时,设置为“production”。 原因是各个站点可以使用许多不同的stream程,所有stream程都需要知道是QA还是生产环境。 一些网站在Apache下使用PHP,一些使用Node.js,一些网站使用命令行工具,cron作业等等。 我希望得到一个关于是质量保证还是生产环境的授权来源。
基于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
或其他一些源文件中,然后尝试cd
到qa
, production
或其子目录之一。
您可以在/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")