Есть ли какой-нибудь файл, который читает accurev при входе в систему? - PullRequest
2 голосов
/ 01 декабря 2009

В 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 голосов
/ 17 сентября 2012

Вы должны ввести свои рабочие пространства с помощью следующей команды:

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})#"`]\$ '
0 голосов
/ 25 января 2011

Вы можете использовать данные в accurev info, чтобы осуществить это. Но делать это при каждой быстрой загрузке может раздражать, поскольку выполнение команды занимает несколько секунд. Вы можете умерить это, проверив, изменился ли ваш PWD, и запускать его только при смене каталогов.

Например, вот способ получить путь вашего PWD относительно 'Top' информации от 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, специально https://github.com/matschaffer/profile/blob/master/environment.conf для определения PS1 внизу. Это должно дать вам несколько идей.

...