См. man bash, в котором есть весь раздел Readline:
READLINE
This is the library that handles reading input when using an
interactive shell, unless the --noediting option is given at shell
invocation. Line editing is also used when using the -e option to the
read builtin.
GNU Readline - это библиотека, которая разработана вместе с bash, но используется рядом других программ для обеспечения лучшей интерактивной команды -line (например, цикл REPL Python). Его можно настроить с помощью ~/.inputrc или /etc/inputrc. Подробнее см. man bash .
Обтекание цветовых последовательностей в readline происходит таким образом:
echo -e "\001\033[33m\002${branch}\001\033[00m\002" # yellow
echo -e "\001\033[90m\002 (no git)\001\033[00m\002" # red
echo -e "\001\033[32m\002${branch}\001\033[00m\002" # green
Плейлисты readline являются \001 в начале последовательности без печати и \002 в конце. Они эквивалентны \[ и \] соответственно в строке PS1.
Источник: ответ archemiro на подсказку bash и эхо цвета внутри функции - переполнение стека
[ ! d5]Это мой ответ из другого вопроса с измененным кодом.
Обтекание цветовых последовательностей в readline происходит таким образом:
echo -e "\001\033[33m\002${branch}\001\033[00m\002" # yellow
echo -e "\001\033[90m\002 (no git)\001\033[00m\002" # red
echo -e "\001\033[32m\002${branch}\001\033[00m\002" # green
Плейлисты readline являются \001 в начале последовательности без печати и \002 в конце. Они эквивалентны \[ и \] соответственно в строке PS1.
Источник: ответ archemiro на подсказку bash и эхо цвета внутри функции - переполнение стека
[ ! d5]Это мой ответ из другого вопроса с измененным кодом.
Обтекание цветовых последовательностей в readline происходит таким образом:
echo -e "\001\033[33m\002${branch}\001\033[00m\002" # yellow
echo -e "\001\033[90m\002 (no git)\001\033[00m\002" # red
echo -e "\001\033[32m\002${branch}\001\033[00m\002" # green
Плейлисты readline являются \001 в начале последовательности без печати и \002 в конце. Они эквивалентны \[ и \] соответственно в строке PS1.
Источник: ответ archemiro на подсказку bash и эхо цвета внутри функции - переполнение стека
[ ! d5]Это мой ответ из другого вопроса с измененным кодом.
Когда вы вводите цветовые коды в своем приглашении, вам нужно добавить дополнительные маркеры, чтобы сообщить терминалу, что в приглашении есть невидимые символы
Измените
echo -e "\033[33m${branch}\033[00m" # yellow
на [ ! d2]
echo -e "\[\033[33m\]${branch}\[\033[00m\]" # yellow
# .......^^........^^.........^^........^^
и т. д.
См. «Управление подсказкой» в руководстве bash.
Когда вы вводите цветовые коды в своем приглашении, вам нужно добавить дополнительные маркеры, чтобы сообщить терминалу, что в приглашении есть невидимые символы
Измените
echo -e "\033[33m${branch}\033[00m" # yellow
на [ ! d2] echo -e "\[\033[33m\]${branch}\[\033[00m\]" # yellow
# .......^^........^^.........^^........^^
и т. д.
См. «Управление подсказкой» в руководстве bash.
Когда вы вводите цветовые коды в своем приглашении, вам нужно добавить дополнительные маркеры, чтобы сообщить терминалу, что в приглашении есть невидимые символы
Измените
echo -e "\033[33m${branch}\033[00m" # yellow
на [ ! d2] echo -e "\[\033[33m\]${branch}\[\033[00m\]" # yellow
# .......^^........^^.........^^........^^
и т. д.
См. «Управление подсказкой» в руководстве bash.