Привязки клавиш с использованием bind
влияют только на интерактивный ввод текста (библиотека readline ). При запуске программы (даже встроенной while
) терминал переключается в стандартный «приготовленный» режим и вводится в текущую запущенную программу (в этом случае sleep
получит вход).
Вы можете прочитать ключи вручную:
read -N 1 input
echo "Read '$input'"
Однако, если вы хотите запустить цикл чтения while
и одновременно, вам придется делать это в отдельных процессах (bash не поддерживает потоки). Поскольку переменные являются локальными для процесса, конечный результат должен быть довольно сложным.