como deixar o bash ler a "tecla pressionada" no momento de pressionar e não depois de pressionar ENTER

como deixar o bash ler a "tecla pressionada" no momento de pressionar e não depois de pressionar ENTER

de acordo com meu conhecimento limitado, não tenho certeza se escrevi o título correto para esta pergunta.
de qualquer forma eu quero saber como o bash detecta a tecla pressionada e faz algo de acordo com a estrutura do script,
até agora eu sei que read somthing ; do_somthing_to $something
quero um script semelhante ao seguinte:

#!/bin/bash
while read a
  do
    echo "$a pressed"
  done

mas eu queria que ele me desse os resultados na hora da impressão (não deveria esperar eu apertar enter)!

e obrigado!

Responder1

Você pode especificar o número de caracteres para leitura -n. Então, no seu caso:

#! /bin/bash
read -n1 a
echo "$a pressed"

Pode ser necessário incluir -spara evitar a impressão da tecla quando pressionada.

informação relacionada