Search code examples
bashshellinputkeypress

shell script respond to keypress


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?


Solution

  • read -rsn1
    

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