2009-12-01 3 views
2

리눅스에서, 나는 일단 accurev에 로그인하면 PS1이 다음과 같이 바뀐다.로그인시 accurev가 읽는 파일이 있습니까?

~/myfiles/accurev/ws/myworkspace 경로에 ~/myfiles/accurev/ws/myworkspace

<username>@<machineName> : ACCUREV > 

그래서 예를 들어 ~/myfiles/accurev/ws/myworkspace/myproject1/org/daz/, PS1 be :

<username>@<machineName> : ACCUREV/myproject1/org/daz > 
+0

AccuRev에서 [CLI 안내서 6]를 읽는 많은 env 변수가 있습니다. 하지만 셸 PS1은 AccuRev와 관련이 없습니다. 당신이하려는 일을 명확히 할 수 있습니까? –

+0

PS1의 색상을 변경하고 싶습니다. 어떻게 할 수 있습니까? –

답변

0

당신이 해내 accurev info의 데이터를 사용할 수 있습니다. 명령을 완료하는 데 몇 초가 걸리기 때문에 모든 프롬프트로드에서이를 수행하는 것이 성가시다. PWD가 변경되었는지 확인하고 디렉토리를 변경할 때만 실행하면됩니다.

예를 들어, 여기에 정보의 '최고'를 accurev하기 위해 PWD 상대의 경로를 얻을 수있는 방법이다 :

pwd | cut -b`accurev info 2>/dev/null | grep Top | awk '{print $2}' | wc -c | awk '{print $1}'`- 2>/dev/null 

당신은 PS1으로이 떨어질 수 있지만 다음 모든 프롬프트가 1 ~ 2 초가 더 소요됩니다 . 디렉토리 변경시에만이 작업을 수행하려면 PROMPT_COMMAND를 사용하여 작업 할 수 있지만 PWD != OLDPWD 인 경우에만 가능합니다.

So. 할 수 있는? 예. 그럴만한 가치가 있니? 말하기 어렵다.

아, 그리고 색상은. 하단의 PS1 정의에 대해서는 https://github.com/matschaffer/profile, 특히 https://github.com/matschaffer/profile/blob/master/environment.conf을 확인하십시오. 그것은 당신에게 몇 가지 아이디어를 줄 것입니다.

0

다음과 같은 명령으로 작업 공간을 입력해야합니다 :

accurev start -w myworkspace 

그런 다음의 .bashrc에 다음을 추가합니다

if [ "${ACCUREV_TOPDIR}" != "" ] 
then 
    PS1='[\[email protected]\h `pwd | sed -e "s#${ACCUREV_TOPDIR}#ACCUREV#"`]\$ ' 
else 
    PS1='[\[email protected]\h \W]\$ ' 
fi 
export PS1 

을 개인적으로 좋아뿐만 아니라 작업 공간을 참조하는 것을 선호 :

PS1='[\[email protected]\h `pwd | sed -e "s#${ACCUREV_TOPDIR}#WS(${ACCUREV_WSPACE})#"`]\$ '