2009-12-01 49 views
2

在linux下,我需要一次我登錄到AccuRev的,該PS1更改爲以下:有沒有accurev在登錄時讀取的文件?

想我的工作空間放置在路徑~/myfiles/accurev/ws/myworkspace

<username>@<machineName> : ACCUREV > 

所以,當我比如cd到~/myfiles/accurev/ws/myworkspace/myproject1/org/daz/, 在PS1是:

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

AccuRev有許多env變量[第6頁CLI指南]。雖然,外殼PS1與AccuRev無關。你能澄清你想要做什麼嗎? – 2009-12-01 17:20:16

+0

我想改變PS1的顏色,我該怎麼做? – 2009-12-01 20:20:51

回答

0

您可以使用數據accurev info拉這一關。但是,在每次即時加載時執行此操作可能會令人討厭,因爲該命令需要幾秒鐘才能完成。你也許可以通過檢查你的PWD是否已經改變並且只有在改變目錄時才運行它。

例如,這裏有一個辦法讓你的PWD相對的路徑AccuRev的信息的「頂」:

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

所以。可行?是。值得?很難說。

哦,至於你的顏色。查看https://github.com/matschaffer/profile,特別是底部PS1定義的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})#"`]\$ ' 
相關問題