shell script respond to keypress

bash, input, keypress, shell

Solution

read -rsn1

Expect only one letter (and don't wait for submitting) and be silent (don't write that letter back).

Problem

I have a shell script that essentially says something like ``` while true; do read -r input if ["$input" = "a"]; then echo "hello world" fi done ``` That is all well, and good, but I just realized having to hit ENTER presents a serious problem in this situation. What I need is for the script to respond when a key is pressed, without having to hit enter. Is there a way to achieve this functionality within a shell script?

Original source

Related problems