Обновленный ответ
То, как вы устанавливаете подсказку, не оценивает escape-символы.Добавьте $ перед строкой, чтобы вычислить управляющие коды:
pompt$ export PS1='XY \x08: '
XY \x08: echo "Well that didn't work..."
Должно стать:
pompt$ export PS1=$'XY \x08: '
XY: echo "Escape code success!"
(см. Комментарий Чарльза Даффи к этому ответу, почему я удалил export
.)
В приведенном выше примере в подсказке указываются символы X, Y, [пробел], [backspace], [двоеточие], в результате чего отображается только «XY:».
В моей системе флаг отображается как два символа (? и ?), поэтому я не могу проверить это, но я думаю, что добавление возврата (\ x08) должно работать для вас:
PS1=$'?? \\W \\u ?\x08'
Замечания по поводу правок
В моем первоначальном ответе предлагалось использовать подоболочку:
export PS1=$(printf "XY \x08")
Большое спасибо Чарльзу Даффи за его вклад ~