Если я сделаю это:
echo foo
PS1='\e[0;30mtest \e[0m'
, а затем нажимает стрелка вверх * появляется 1005 * test PS1='\e[0;30mtest \e[0m'
(как и ожидалось).
Но если я нажимаю стрелка вверх, поэтому у меня должно быть echo foo
, это приводит к test PS1='\e[0;3echo foo
Если я установлю PS1 на что-либо, что не включает цвет, это работает:
echo foo
PS1='\e[0;30mtest \e[0m'
PS1='test '
- тройное нажатие стрелка вверх , в результате
echo foo
Примечание: echo foo
остается командой, выполняемой при нажатии Enter
Я пробовал это и в iTerm2, и в Apple Terminal.
Почему он это делает и как мне это исправить?