stty raw

1. stty raw

QuanticoDW
QuanticoDW

(usa Ubuntu)

Enviado em 15/05/2025 - 12:04h

Tem alguma forma de receber a tecla quando o stty raw esta ativado, sendo que não apareça as ^X, ^[[A, e entre outras iguais. Mas eu quero apenas receber as letras normais tipo "q", "p"... e número.



  


2. Re: stty raw

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 15/05/2025 - 12:04h

Claro! Quando você ativa o modo "raw" com o comando `stty raw`, o terminal não processa as entradas como normalmente faz. Isso significa que caracteres de controle, como os que você mencionou (^X, ^[[A, etc.), são passados diretamente.

Se você deseja receber apenas letras e números sem os caracteres de controle, pode criar um loop que lê a entrada e filtra os caracteres desejados. Veja um exemplo simples em um script de shell:

```bash
#!/bin/bash

stty raw

while true; do
read -n 1 char # Lê um único caractere

# Verifica se é uma letra ou número
if [[ $char =~ [a-zA-Z0-9] ]]; then
echo "Você pressionou: $char"
fi

# Para sair do loop, você pode usar uma condição, como pressionar 'q'
if [[ $char == 'q' ]]; then
break
fi
done

stty sane # Restaura o modo normal do terminal
```

Neste script:

- Ativamos o `stty raw` para receber entrada direta.
- Usamos `read -n 1 char` para ler um único caractere por vez.
- Filtramos a entrada para aceitar apenas letras e números.
- O loop continua até você pressionar 'q', quando ele encerra.

Para executar, dê permissão e rode






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts