I figured it would be doable but I didn't suspect it would be this easy:That's just not how select(1) works. If you want a menu that lets the user respond with a keypress, you need to roll your own.
... mind, pressing ENTER isn't exactly difficult.
chosen=0while (( chosen < 1 || chosen >$#path )); dofor (( i=1; i<$#path; ++i)); doprintf '%d) %s\n' "$i" "${path[i]}"doneprintf '%s' "$PS3"read -k chosendonepith=$path[$chosen]