How do I read any one key in Bash?
===

I can get `read -n 1 KEY` to get most keys, except for keys which are represented by multiple characters. For example, if I press the up arrow key:

    $ read -n 1; echo
    ^[[A
    $ [A

As you can see, `read` only takes the <kbd>Esc</kbd> and the `[A` is left over.

What I want to be able to do in a script is:

1. Go through a list with the arrow keys and press <kbd>Enter</kbd> to do something with it
2. For other actions, press different keys.