2

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 > 
4

2 に答える 2

0

のデータを使用して、accurev infoこれを引き出すことができます。ただし、コマンドが完了するまでに数秒かかるため、すべてのプロンプト ロードでこれを実行すると煩わしい場合があります。PWDが変更されたかどうかを確認し、ディレクトリを変更するときにのみ実行することで、それを和らげることができます。

たとえば、accurev 情報の 'Top' に関連する 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.

そう。実行可能ですか?はい。価値がある?言いにくい。

ああ、あなたの色について。下部の PS1 定義については、https://github.com/matschaffer/profile、特にhttps://github.com/matschaffer/profile/blob/master/environment.confを確認してください。それはあなたにいくつかのアイデアを与えるはずです。

于 2011-01-25T19:44:26.847 に答える
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})#"`]\$ '
于 2012-09-17T07:29:26.817 に答える