Как показывают другие ответы, самое простое решение — просто запустить reset
.
Что же касается причины? Обычно это происходит, когда выcat
(или иным образом выводите )двоичный файл или данные на свой терминал.
Текст — это просто текст, и он не обрабатывается терминалом специально, но есть также некоторые специальные символы, которые не являются текстом и используются для таких действий, как перемещение курсора, очистка экрана, изменение цвета, прекращение эха. выход и т. д.
Когда вы выводите двоичные данные (, а не текст ), терминал увидит эти специальные управляющие символы и попытается интерпретировать их по мере поступления. Вы можете заметить, что экран очищается, мигает или прыгает вокруг -, это все из-за того, что эти управляющие символы соблюдаются. Вы можете поэкспериментировать, запустив head /dev/urandom
в новом терминале, чтобы понять, что я имею в виду.
В большинстве случаев, если ваш терминал в любом случае ведет себя странно, просто запустите reset
, чтобы исправить это, просто повторив все специальные символы, необходимые для установки терминала в базовый режим по умолчанию -, например. есть код stop echoing input
, а также код start echoing input
. Двоичные данные случайным образом включают первое, поэтому вы не можете видеть, что вы печатаете, а reset
будет включать последнее (среди других ), что исправит это.
Hello I am trying to figure out how to make ssh use a different key id.
Либо используйте -i
, либо настройте ~/.ssh/config
, чтобы указать сертификат. Последнее должно произойти в каталоге HOME текущего пользователя.
I can ssh into the server fine but if I have a script that is run with sudo privileges I get prompted for the password
Я согласен с Кусаланандой (1 )либо переключиться обратно на пользователя, (2 )не запускать весь скрипт как sudo
в первую очередь, а использовать sudo
внутри скрипта (, что, конечно же, зависит от того, что делает скрипт, о чем вы нам ничего не сказали ).