Я использую пользовательскую командную строку, которая использует пользовательскую функцию для отображения имени текущей ветви Git.Функция и PS1 находятся в моем .bash_profile:
# Defines a shell function: run "git branch" and extract branch name
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
# Adds the above shell function to the command-line prompt when you're in a Git-tracked folder
export PS1="\W \[\033[33m\]\$(parse_git_branch)\[\033[00m\]$ "
Все это работало без сбоев до сегодняшнего дня, в том числе в сеансах Screen, созданных до сегодняшнего дня.Сегодня по какой-то причине Screen перестал распознавать пользовательские функции.В любом новом сеансе Screen, который я создаю, каждая командная строка выглядит так («base» - среда Conda):
bash: parse_git_branch: command not found
(base) ~ $
Первая строка повторяется до каждого приглашения, которое устареетдовольно быстроСорсинг .bash_profile в сеансе Screen ничего не меняет, независимо от того, комментирую я функцию и строку PS1 или нет.Это происходит как в локальных сеансах Screen, так и в сеансах, запускаемых при подключении SSH к кластерному серверу HTC моего университета.Сессии, созданные несколько дней назад, не имели проблемы, но каждая новая сессия создает.Что здесь происходит?