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