Я установил Arch Linux, перенес свой .zshrc и использую тему приглашения bart. Я вижу обычную тему в первой строке (имя хоста, последний запуск команды, pwd и время), но в следующей строке: \[\][ \[\]hostname \[\]\W\[\] \[\]]\[\]# \[\]
где $hostname — мое фактическое имя хоста.
Я переименовал файлы в моем /etc/zsh в backup.zshrc backup.zprofile и backup.keephack. Приглашение на моем другом компьютере не перегружено, поэтому я знаю, что это не что-то в ~/.zshrc, на которое я мигрировал.

1
user52470 24 Янв 2018 в 01:14

1 ответ

Лучший ответ

Это командная строка bash, поэтому настройка bash каким-то образом просочилась в zsh. Все распространенные оболочки используют переменную PS1 в качестве основной подсказки, но используют разные форматы. Поскольку PS1 имеет разное значение для разных программ, она никогда не должна быть переменной среды, а только переменной в каждой программе, которая ее использует (bash, zsh и т. д.). К сожалению, многие дистрибутивы поставляют файлы по умолчанию, которые устанавливают PS1 в среде, часто в /etc/profile.

Zsh использует более PS1 для создания приглашения. Я не знаю, как работает ваша тема приглашения, но вполне вероятно, что она объединяет несколько элементов, включая PS1. Поскольку PS1 устанавливается не так, как должно, zsh в конечном итоге выбирает случайную настройку bash.

Поэтому вероятным исправлением будет добавление unset PS1 в ваш .zshrc. В зависимости от того, как работает тема подсказки, вам может понадобиться или не понадобиться делать это перед настройкой темы подсказки.

2
Gilles 'SO- stop being evil' 24 Янв 2018 в 01:57