2009-12-01 2 views
2

В Linux, мне нужно, когда я войти в AccuRev, изменения PS1 к следующему:Есть ли файл, который accurev читает при регистрации?

предположим, мое рабочее пространство помещается в путь ~/myfiles/accurev/ws/myworkspace

<username>@<machineName> : ACCUREV > 

так, когда я, например, компакт-диск с ~/myfiles/accurev/ws/myworkspace/myproject1/org/daz/, PS1 быть:

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

Существует ряд переменных env, которые AccuRev читает [pg 6 CLI guide]. Хотя оболочка PS1 не связана с AccuRev. Можете ли вы уточнить, что вы пытаетесь сделать? –

+0

Я хочу изменить цвета PS1, как я могу это сделать? –

ответ

0

Вы можете использовать данные в 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.

So. Выполнимо? да. Стоило того? сложно сказать.

О, и что касается ваших цветов. Проверьте https://github.com/matschaffer/profile, в частности https://github.com/matschaffer/profile/blob/master/environment.conf для определения PS1 внизу. Это должно дать вам некоторые идеи.

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})#"`]\$ '