ENTER キーを押した後ではなく、キーを押した時点で bash に「押されたキー」を読み取らせる方法

ENTER キーを押した後ではなく、キーを押した時点で bash に「押されたキー」を読み取らせる方法

私の限られた知識によると、この質問に適切なタイトルを書いたかどうかはわかりません。
とにかく、bash が押されたキーを検出し、スクリプト構造に従って何かを実行する方法を知りたいのですが、
今のところ、read somthing ; do_somthing_to $something
次のようなスクリプトが必要であることはわかっています。

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

しかし、私は押すと同時に結果が表示されるようにしたかったのです(Enter キーを押すまで待つべきではありません)。

ありがとう!

答え1

読み取る文字数は で指定できます-n。つまり、あなたの場合は次のようになります。

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

-sキーが押されたときにキーが印刷されないようにするには、含める必要がある場合があります。

関連情報