キーの押下に反応するスクリプトを作成するには、何を考慮する必要がありますか?

キーの押下に反応するスクリプトを作成するには、何を考慮する必要がありますか?

私は次のスクリプトで変数に何かを読むことができることを知っています。変数=読み取りしかし、変数に値を送信するにはEnterキーを押す必要があります。 Enterキーを押さずにキー押し値を変数に送信するには、またはキーを押したときに反応しないようにするにはどうすればよいですか?

ベストアンサー1

を使用すると、組み込み関数の引数をbash使用して、改行なしで読み取る文字数を制限できます。-nread

#!/bin/bash

echo "Ready? [Y/n]: "
read -n 1 y_or_n
echo

case "$y_or_n" in
    [Yy]|"")
        echo "you said yes"
        ;;
    *)
        echo "you said no"
        ;;
esac

bashshこれはasか呼び出すかに関係なく機能しますbash

詳細については、help readまたはマンページを参照してください。bash

他のシェルは-nパラメータをサポートしていない可能性がありますreaddash、例えばいいえ。

おすすめ記事