Почему моя переменная окружения PS1 продолжает перезаписываться?

284
Sebastian Oberhoff

Я пытаюсь настроить приглашение, добавив такую ​​строку, как

export PS1='%d' 

в мой .zshrcфайл. Однако переменная окружения продолжает перезаписываться. На самом деле я могу сделать следующее в терминале

% env | grep PS1 PS1=%K%n@%m%k %B%F%66<...<%~  % export PS1='%d'  % env | grep PS1 PS1=%K%n@%m%k %B%F%66<...<%~ 

который просто поражает меня.

Что здесь происходит и как мне это остановить?

1
почему бы просто не `echo $ PS1` вместо` env | grep PS1`? phuclv 6 лет назад 0
Используете ли вы тему приглашения, d'oh-my-zsh или что-то подобное? Также проверьте функции `precmd` /` preexec` (используйте `which precmd`, ...), если они изменяют` $ PS1`. mpy 6 лет назад 0
@phuclv Потому что я все еще учусь этому - никакой другой причины. Sebastian Oberhoff 6 лет назад 0
@mpy Кажется, что ни эти команды, ни d'oh-my-zsh не установлены. У меня есть Бёбу, хотя, которая пришла с Ubuntu. Sebastian Oberhoff 6 лет назад 0
Хм, в таком случае я обычно начинаю с чистой оболочки (`zsh -f`), а затем отправляю мой` ~ / .zshrc` построчно (или лучше: блок за блоком) и проверяю, когда возникает проблема. Так что это также по моему предложению в вашем случае. mpy 6 лет назад 0
Когда вы пишете «ни одна из этих команд (...) не установлена», что вы имеете в виду. `precmd` и` preexec` являются встроенными модулями оболочки. Вы имеете в виду `which precmd` ничего не возвращает? mpy 6 лет назад 0
@mpy Я имел в виду, что `which` ничего не возвращает ни для одной из команд. Кроме того, вызов их приводит к `command not found` в обоих случаях. Sebastian Oberhoff 6 лет назад 0

0 ответов на вопрос

Похожие вопросы