2010-05-06 7 views
0

내 홈 디렉토리의 .profile에 'BLA = "hey there"내보내기가있는 경우 다른 디렉토리의 다른 디렉토리에서이 디렉토리를 어떻게 변경합니까? 또한 디렉토리에 cd 할 때 새로운 환경 변수를 설정하는 방법이 있습니까?디렉토리에 따라 환경 변수를 어떻게 설정할 수 있습니까?

첫 번째 시도는 변경하려는 디렉토리에 다른 .bashrc 파일을 만들려고했지만 효과가 떨어지는 것으로 입증되었습니다.

저는 OS X btw입니다.

답변

2

왜이 작업을 수행해야합니까? 그냥 궁금해서.

하지만 당신은 cd을 무시하고 당신의 .bashrc에 몇 가지 추가 처리를 수행 할 수 있습니다

source ~/.bashrc 
: 당신이를 추가 한 후

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

하기를 통해 새로운 bash 쉘 또는 소스를 시작하는 것을 잊지 마세요

+0

내가 이것을하고 싶은 이유는 다른 레일즈 애플 리케이션을위한 변수에 대해 다른 값을 갖는 것이다. 다른 앱은 동일한 변수를 사용할 수 있지만 해당 앱에 고유 한 값이 필요합니다. – kjs3

+0

@ kjs3 "올바른"것으로 판단되거나 목표 달성에 도움이된다면 체크 표시로 답을 표시하십시오. 감사! – dlamotte

0

xyld의 답변을 바탕으로 무서운 .bashrc-in-any-directory를 할 수 있습니다. 나는 이것이 정말로 끔찍한 생각이라고 확신한다 :

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

그래, 네가 그렇게 할 수있어. 비록 꽤 무서운 – dlamotte

관련 문제