2010-05-06 57 views
0

如果我在我的主目錄的.profile中導出BLA =「hey there」,如何稍後在其他目錄中將其更改爲僅通過cd到另一個目錄中? 另外,有沒有辦法只是設置一個新的環境變量,當我進入一個目錄。如何根據目錄設置環境變量

我的第一次嘗試是在我想要更改的目錄中創建另一個.bashrc文件,但顯然證明效果不佳。

我在OS X btw上。

回答

2

爲什麼你需要這樣做?只是好奇。

但是你可以重寫cd和你的.bashrc做一些額外的處理:

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

您添加後,不要忘了,開始通過新的bash shell或源吧:

source ~/.bashrc 
+0

我想這樣做的原因是爲了有不同的值以用於不同的Rails應用的變量。不同的應用程序可能會使用相同的變量,但它們需要特定於它們的值。 – kjs3 2010-05-07 04:12:33

+0

@ kjs3如果您認爲它是「正確的」或者它幫助您實現了目標,請用複選標記標記我的答案。謝謝! – dlamotte 2010-05-07 04:17:34

0

基於xyld的答案,這可以讓你做可怕的.bashrc在任何目錄的東西。我敢肯定,這是一個非常可怕的想法:

cd() { 
    builtin cd "[email protected]" 
    if [[ -e `pwd`/.supplemental-bashrc ]]; then 
     source `pwd`/.supplemental-bashrc 
    fi 
} 
+0

哈,是的,你絕對可以做到這一點。絕對是非常可怕的 – dlamotte 2010-05-07 02:14:13