在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 > 发布于 2011-01-26 03:44:27
您可以使用accurev info中的数据来实现这一点。但是,在每次提示加载时执行该命令可能会很烦人,因为该命令需要几秒钟才能完成。您可以通过检查您的PWD是否已更改来调整它,并仅在更改目录时运行它。
例如,这里有一个方法来获得你的PWD相对于accurev info的‘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,特别是底部的PS1定义的https://github.com/matschaffer/profile/blob/master/environment.conf。这应该会给你一些想法。
发布于 2012-09-17 15:29:27
您应该使用以下命令进入您的工作区:
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})#"`]\$ 'https://stackoverflow.com/questions/1826808
复制相似问题