У меня есть функция, определенная в файле моего пользователя .bashrc, которая отображает мое текущее имя ветки git в моей командной строке:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
PS1="\\[$(tput setaf 7)\\]\\w \$(parse_git_branch)> \\[$(tput sgr0)\\]"
Когда я выполняю sudo на su, похоже, что мой PS1 переносится, и после каждой команды я получаю ошибку bash: parse_git_branch: command not found
.
Что я могу изменить, чтобы при использовании sudo другому пользователю использовалась его PS1, а не моя?
Изменить: Кажется, что это происходит только после того, как я использую источник Python virtualenv. Если я получу sudo su, прежде чем я получу virtualenv, эта ошибка не произойдет.