A string de resposta de resposta é configurável no xterm usando o answerbackString
recurso. Esse recurso foi adicionado em 1998 . Inicialmente retornando "xterm", uma vez que 1999 o padrão é uma string vazia, porque alguns usuários notaram o potencial por abuso de sequências de controle que podem enviar um comando inesperado ao computador.
Outros terminais podem retornar uma string vazia sempre (konsole, mlterm, vte). Mas rxvt (e rxvt-unicode) retornam uma resposta inesperada: o dispositivo atribui resposta para o VT102 (uma seqüência de escape). PuTTY retorna "PuTTY" (provavelmente devido à influência inicial do xterm ).
Em uma verificação rápida, o console do Linux exibe um "a" (provavelmente um bug).
Como o VT100 original fornecia isso como um recurso de configuração / configurável, isso seria limitado a caracteres imprimíveis . Por esse motivo, a resposta do rxvt / urxvt é inesperada. A página de manual faz um comentário obscuro sobre isso:
answerbackString
: string
Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E) character is passed through. It may contain escape values as described in the entry onkeysym
following.
(a descrição prometida está ausente).
Como o tamanho da string de resposta é desconhecido, um aplicativo que a lê deve permitir a espera (caso os caracteres cheguem em mais de uma operação de leitura). Existe, é claro, o recurso TMOUT
específico do ksh / bash, que pode ajudar com o shell-scripting, junto com a opção -t
para o comando read
. Para uso geral, evito isso, usando stty
, por exemplo, (consulte dynamic.sh
):
stty raw -echo min 0 time 5
para definir temporariamente o terminal para que read
seja excedido em 0,5 segundos e permita que ele retorne sem ler nenhum caractere. Para ver como as configurações são salvas / restauradas, é útil ler o script.
Leitura adicional: