如果我在我的主目录的.profile中导出BLA =“hey there”,如何稍后在其他目录中将其更改为仅通过cd到另一个目录中? 另外,有没有办法只是设置一个新的环境变量,当我进入一个目录。如何根据目录设置环境变量
我的第一次尝试是在我想要更改的目录中创建另一个.bashrc文件,但显然证明效果不佳。
我在OS X btw上。
如果我在我的主目录的.profile中导出BLA =“hey there”,如何稍后在其他目录中将其更改为仅通过cd到另一个目录中? 另外,有没有办法只是设置一个新的环境变量,当我进入一个目录。如何根据目录设置环境变量
我的第一次尝试是在我想要更改的目录中创建另一个.bashrc文件,但显然证明效果不佳。
我在OS X btw上。
为什么你需要这样做?只是好奇。
但是你可以重写cd
和你的.bashrc做一些额外的处理:
cd() {
builtin cd "[email protected]"
if [[ `pwd` == '/path/to/dir' ]]; then
export VAR=blah
]]
}
您添加后,不要忘了,开始通过新的bash shell或源吧:
source ~/.bashrc
基于xyld的答案,这可以让你做可怕的.bashrc在任何目录的东西。我敢肯定,这是一个非常可怕的想法:
cd() {
builtin cd "[email protected]"
if [[ -e `pwd`/.supplemental-bashrc ]]; then
source `pwd`/.supplemental-bashrc
fi
}
哈,是的,你绝对可以做到这一点。绝对是非常可怕的 – dlamotte 2010-05-07 02:14:13
我想这样做的原因是为了有不同的值以用于不同的Rails应用的变量。不同的应用程序可能会使用相同的变量,但它们需要特定于它们的值。 – kjs3 2010-05-07 04:12:33
@ kjs3如果您认为它是“正确的”或者它帮助您实现了目标,请用复选标记标记我的答案。谢谢! – dlamotte 2010-05-07 04:17:34