Изменяя определение моего PS1, я увидел, что необходимо добавить маркеры «\[» и «\]», чтобы помочь bash вычислить правильную длину дисплея. Многие примеры в Интернете не используют их и даже не упоминают о них.
Я искал решение для их автоматического добавления, как в случае с sed, но я не нашел ни одного примера.
Они все еще нужны, и есть ли рекомендация не использовать sed для определения PS1?
Это то, что я использую в данный момент:
PS1="$(echo -n "$PS_" | sed -e 's/\\e\[/\\\[\\e\[/g' -e 's/[0-9]m/&\\\]/g')"