Выполнить последнюю команду(ы) в клиенте OpenSSH в Windows 10

Выполнить последнюю команду(ы) в клиенте OpenSSH в Windows 10

Я использую OpenSSH Client, поставляемый с Windows 10 (Home) через Powershell. Как мне повторить последнюю команду(ы)? Я привык использовать клавишу вверх для просмотра последних выполненных команд, но это не работает, использование любой клавиши со стрелкой приводит к появлению странных символов в командной строке (например, ^[[A). Другие команды, связанные с Linux, например !!, также не работают... есть идеи?

EDIT: Проблема, похоже, на стороне сервера (Unbuntu), а не на стороне клиента OpenSSH в Windows (та же проблема возникает с Putty). Так что теперь вопрос: как мне активировать последнюю команду с помощью клавиши вверх и автодополнение с помощью клавиши Tab на удаленном сервере.

решение1

Похоже, у вас shпо умолчанию установлена ​​оболочка вместо bash. shИмеет очень ограниченные возможности редактирования командной строки и не поддерживает повторный вызов предыдущих команд с помощью стрелок вверх/вниз.

Чтобы проверить это, введите следующую команду:

grep '^username:' /etc/passwd

где вы, конечно, должны заменитьимя пользователяна ваше фактическое имя пользователя, которое вы используете в системе Linux.

Вы должны увидеть такую ​​строку (в моем случае):

raj:x:1000:1000:Jarek,,,:/home/raj:/bin/bash

Ваша оболочка по умолчанию отображается в конце строки. Если она /bin/bashтакая же, как выше, стрелки вверх/вниз должны работать. Если они не работают, кто-то, должно быть, что-то испортил в скриптах запуска оболочки (обычно .profileи .bashrcфайлах).

Если ваша оболочка отличается от /bin/bash(например /bin/sh), вы можете попробовать изменить ее. Введите команду chsh(она запросит ваш пароль) и введите /bin/bashкак новую оболочку. После того, как вы войдете в новый сеанс, ваша новая оболочка должна быть активна.

Связанный контент