如何根据目录设置环境变量

时间:2010-05-06 23:20:13

标签: macos environment-variables

如果我在我的主目录中有'export BLA =“hey there”'in .profile,我怎么能在其他目录中将其更改为cd到另一个目录? 另外,当我进入目录时,有没有办法设置一个新的环境变量。

我的第一次尝试是在我想要更改的目录中创建另一个.bashrc文件,但显然证明效果不佳。

我正在使用OS X btw。

2 个答案:

答案 0 :(得分:2)

你为什么需要这样做?好奇。

但您可以覆盖cd并在.bashrc中执行一些额外处理:

cd() {
    builtin cd "$@"
    if [[ `pwd` == '/path/to/dir' ]]; then
        export VAR=blah
    ]]
}

添加之后,不要忘记启动新的bash shell或通过以下方式获取它:

source ~/.bashrc

答案 1 :(得分:0)

基于xyld的答案,这可以让你做任何可怕的.bashrc-in-any-directory事情。我很确定这是一个非常可怕的想法:

cd() {
    builtin cd "$@"
    if [[ -e `pwd`/.supplemental-bashrc ]]; then
        source `pwd`/.supplemental-bashrc
    fi
}