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