Это последняя строка вашего скрипта, которая запутывает вещи. Вызов proml
напрямую из ~/.bash_profile
или ~/.bashrc
устанавливает переменные окружения PS*
только один раз, поэтому он не будет обновляться при смене папок (и в каждой папке, которую вы вводите позже, может отображаться (apps2)
).
Вместо этого proml
должно быть установлено как PROMPT_COMMAND
в последней строке вашего скрипта:
PROMPT_COMMAND=proml
PROMPT_COMMAND
содержит имя функции, которая должна выполняться каждый раз, когда bash отображает подсказку. Для получения дополнительной информации см здесь .
Кроме того, если говорить о подсказках оболочки с поддержкой git, есть еще одно приятное дополнение к тому, что у вас уже есть. Помимо текущей ветки, вы можете получить информацию о любых незафиксированных изменениях. Смотрите, например это сообщение в блоге для функции parse_git_dirty()
.