rebolek Asked: 2018-01-11 23:46:04 +0800 CST2018-01-11 23:46:04 +0800 CST 2018-01-11 23:46:04 +0800 CST Como obter o relatório de status do dispositivo no Busybox?; 772 Estou tentando obter DSR no busybox (para obter o tamanho do terminal), mas echo '\x1b[6n'não relata nada, gera \x1b[6n. terminal escape-characters 1 respostas Voted Best Answer Murphy 2018-01-12T02:27:49+08:002018-01-12T02:27:49+08:00 Vejo duas questões: Para echomanipular sequências de escape, você precisa adicionar a opção -e. Esta não é uma especialidade do shell BusyBox, ela se aplica a bashoutras implementações também. Deduzindo desta questão SO, o código ANSI deve ser \x1b[6n. Além disso, pode ser uma boa ideia suprimir a nova linha final. Juntando tudo, acho que a chamada deve ficar assim: echo -en "\x1b[6n" Limitações do BusyBox Versões mais antigas do BusyBox não oferecem suporte \ee \xsequências de escape emecho ; neste caso \033deve ser usado. Isso parece ter sido corrigido em 1.23.1. Certifique-se de definir o seguinte na configuração: Configurações do Busybox Ajuste da Biblioteca Busybox Consultar a posição do cursor do terminal → ativado Limitações de SSH/PuTTY SSH engole a posição retornada . Para ver a resposta em seu terminal remoto, você pode usar echo -en "\e[6n"; cat e pressione Ctrl + Cdepois disso.
Vejo duas questões:
echo
manipular sequências de escape, você precisa adicionar a opção-e
. Esta não é uma especialidade do shell BusyBox, ela se aplica abash
outras implementações também.\x1b[6n
.Além disso, pode ser uma boa ideia suprimir a nova linha final. Juntando tudo, acho que a chamada deve ficar assim:
Limitações do BusyBox
Versões mais antigas do BusyBox não oferecem suporte
\e
e\x
sequências de escape emecho
; neste caso\033
deve ser usado. Isso parece ter sido corrigido em 1.23.1.Certifique-se de definir o seguinte na configuração:
Limitações de SSH/PuTTY
SSH engole a posição retornada . Para ver a resposta em seu terminal remoto, você pode usar
e pressione Ctrl + Cdepois disso.