Как сделать readисторию поддержки встроенных команд, нажимая клавиши вверх / вниз для их циклического переключения?
Я пытался поймать, когда вы нажимаете клавишу «вверх», но она не работает с read:
read -p '> ' -n 3 foo
echo
echo -n "$foo" | hexdump
Нажатие клавиш со стрелками, кажется, работает, и я могу обнаружить это, используя это, однако, если я нажму aa↑, это потерпит неудачу, так как будет считывать только первый символ идентификатора стрелки вверх, в то время как третий нужен для различения другой стрелки ключи.
rlwrapпотому, что (по крайней мере, на моей машине)rlwrapне может корректно обрабатывать CTRL-C, например, попробуйте запуститьUSERINPUT=$(rlwrap -o cat)и нажать CTRL-C и посмотреть, как ваш терминал ведет себя впоследствии (выполнитеresetкоманду, чтобы вернуться в нормальное состояние снова) ,