登录时是否有accurev读取的文件?

时间:2009-12-01 15:11:31

标签: accurev

在linux中,我需要一旦登录accurev,PS1就会改为:

假设我的工作区位于路径~/myfiles/accurev/ws/myworkspace

<username>@<machineName> : ACCUREV > 

所以,当我以cd为~/myfiles/accurev/ws/myworkspace/myproject1/org/daz/时, PS1是:

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

2 个答案:

答案 0 :(得分:0)

您可以使用accurev info中的数据将其关闭。但是在每个提示加载时执行它可能会很烦人,因为命令需要几秒钟才能完成。您可以通过检查您的PWD是否已更改并在更改目录时仅运行它来调节。

例如,这里有一种方法可以获得PWD相对于accurev信息'Top'的路径:

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,特别是https://github.com/matschaffer/profile/blob/master/environment.conf,了解底部的PS1定义。这应该会给你一些想法。

答案 1 :(得分:0)

您应该使用以下命令输入工作区:

accurev start -w myworkspace

然后在.bashrc中添加以下内容:

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

我个人更喜欢看到工作区:

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