#zsh
#zsh
Вопрос:
В оболочке zsh (удаленная оболочка) я вижу, что с правой стороны отображается неожиданный путь. У меня нет такого компонента в переменной приглашения. Что может быть причиной?
function parse_git_branch() {
git branch 2> /dev/null | sed -n -e 's/^* (.*)/[1]/p'
}
setopt PROMPT_SUBST
export PROMPT='[dev] %~ $(parse_git_branch)
# '
Комментарии:
1. Если я вас правильно понимаю, вам интересно, почему
$~
не выводит ваш рабочий каталог. Чтобы сосредоточиться на этой проблеме, попробуйте приглашение, в котором есть только эта запись, потому что другие части, похоже, здесь не имеют значения. Я бы также сделал явныйsetopt PROMPT_PERCENT
, хотя я бы ожидал, что это значение по умолчанию в любом случае. Обратите внимание, что вы можете легко протестировать свои подсказки и без явного измененияPROMPT
переменной, выполнивprint -P promptstring
, напримерprint -P '%~'
.2. Кроме того, используйте
git branch --show-current
вместо синтаксического анализа выходные данныеgit branch
.3. Кроме того, выполните поиск
man zshcontrib
поvcs_info
, который покажет вам, как настроить приглашение для отображения большого количества информации VCS без необходимости явного вызова каких-либоgit
команд напрямую.4. Проверьте, установлен ли
RPROMPT
илиRPS1
.5. @chepner, спасибо! Проблема была решена после сброса RPROMPT
Ответ №1:
Приглашение в правой части терминала отображается в zsh, если заданы переменные RPROMPT
или RPS1
. Проверьте, установлены ли они с помощью выполнения echo $RPROMPT
или echo $RPS1
. Если один (или оба) не является пустым, то возможно, что он устанавливается где-то еще.
Добавьте строки export RPROMPT=''
и export RPS1=''
в конец файла ~/.zshrc
.