Caracteres de controle SI / SO VT100
Os caracteres ilegíveis são provavelmente devido ao terminal ter um caractere SI
(Shift In; ASCII 14; Control-N). SI
é um caractere de controle VT100 que pode fazer com que o terminal alterne para um conjunto de caracteres alternativo. Muitos terminais reais (por exemplo, um dispositivo de hardware real ou apenas o console somente de texto de um sistema operacional) e programas de terminal honram esse código de escape.
O caminho direto para voltar ao conjunto normal de caracteres é enviar um caractere SO (Shift Out; ASCII 15; Control-O) para o terminal.
Recuperação
Como o conjunto de caracteres é alternado, talvez seja necessário digitar os comandos de recuperação "cegos" (sem depender de ver o que você digitou).
Normalmente, o comando echo
será útil. Muitas vezes você pode digitar E C H O Espaço Control - V Controlo - O Introduzir / devolver
para obter o terminal para ver um Control-O (o Control-V informa ao lado de entrada do terminal que o próximo deve ser passado literalmente, caso contrário, o lado de entrada 'comerá' o caractere antes de obter o shell e assim antes de poder ser enviado de volta para o lado de saída do terminal).
Se você puder assumir um shell razoável com um printf
embutido (ou nenhum shell integrado e um comando printf
externo razoável), você pode usar printf '7'
para enviar um Control-O para o terminal.