Странные символы (^ [[A) в командной строке Cygwin при подключении SSH к виртуальной машине Ubuntu

Стрелка вверх выдает

^[[A 

, а стрелка вниз выдает

^[[B

Они похожи на escape-коды ASCI. У меня нет этой проблемы, когда я работаю вне сессии SSH. Кроме того, когда я sudo su в сеансе SSH с другим пользователем, у меня нет этой проблемы. Кажется, у меня могут быть проблемы с моей учетной записью в Ubuntu?

2
задан 04.05.2020, 20:04

1 ответ

Вы, похоже, используете оболочку dash (/bin/sh является символической ссылкой на dash в стандартной установке Ubuntu). Стандартная панель инструментов не включает поддержку встроенного редактирования или истории команд, поэтому клавиши со стрелками не привязаны к знакомым функциям редактирования / истории и просто отображаются в терминале в виде необработанных кодов клавиш.

Попробуйте изменить оболочку входа пользователя в Ubuntu на bash

chsh -s /bin/bash

и затем запустить новый сеанс SSH.

2
ответ дан 04.05.2020, 20:05
  • 1
    Спасибо! Можно ли объяснить, почему это работало? – Andrew 04.05.2020, 20:05
  • 2
    Я добавил немного объяснения к ответу – Sam 04.05.2020, 20:05
  • 3
    Эти chsh инструменты позволяет пользователям изменять оболочку входа в систему, присвоенную им в/etc/passwd. В Debian и Ubuntu, /bin/sh теперь Тире, разработанный как системная оболочка, но не очень симпатичный для интерактивного использования. Оболочка по умолчанию для обычных пользователей обычно /bin/bash. Что касается того, как Вы закончили с /bin/sh как Ваша оболочка I don' t знают. – Sam 04.05.2020, 20:05

Теги

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