Como obter o relatório de status do dispositivo no Busybox ?;

1

Estou tentando obter o DSR no busybox (para obter o tamanho do terminal), mas echo '\x1b[6n' não informa nada, ele gera \x1b[6n .

    
por rebolek 11.01.2018 / 08:46

1 resposta

1

Eu vejo dois problemas:

  1. Para tornar echo a lidar com sequências de escape, é necessário adicionar a opção% código%. Esta não é uma especialidade do shell BusyBox, também se aplica a -e e outras implementações.
  2. Deduzindo essa pergunta SO o código ANSI deve ser bash .

Além disso, pode ser uma boa ideia suprimir a nova linha de acabamento. Juntando tudo, acho que a ligação deve ser a seguinte:

echo -en "\x1b[6n"

Limitações do BusyBox

Versões mais antigas do BusyBox não suportam \x1b[6n e \e sequências de escape em \x ; Nesse caso, echo deve ser usado. Isto parece ser corrigido em 1.23.1.

Certifique-se de definir o seguinte na configuração:

  • Configurações do Busybox
    • Ajuste da Biblioteca Busybox
      • Consulta da posição do cursor no terminal → ativada

Limitações SSH / PuTTY

SSH engole a posição retornada . Para ver a resposta no seu terminal remoto, você pode usar

echo -en "\e[6n"; cat

e pressione Ctrl + C depois disso.

    
por 11.01.2018 / 11:27