如果我在我的主目录中有'export BLA =“hey there”'in .profile,我怎么能在其他目录中将其更改为cd到另一个目录? 另外,当我进入目录时,有没有办法设置一个新的环境变量。
我的第一次尝试是在我想要更改的目录中创建另一个.bashrc文件,但显然证明效果不佳。
我正在使用OS X btw。
答案 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
}