Существует функция readline end-of-history, по умолчанию сопоставленная с M- >, но если она используется во время обратного поиска, она выходит из запроса обратного поиска.
Возможный обходной путь / уловка
Начать поиск строки
Вместо этого, чтобы использовать обратный поиск, вы можете использовать history-search-backwardи history-search-forward(по умолчанию не сопоставлено), сопоставляя их up/down(очень полезно) в вашем .inputrc:
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
Таким образом, после того, как вы набрали, вы можете отменить поиск нажатием up
(вместо Ctrl+ R), а когда вы хотите вернуться в конец истории, вы можете использовать end-of-historyфункцию, нажав ( M- >)
Таким образом, «Строка поиска должна совпадать в начале строки истории », поэтому, если вы ищете ls -ltr, вы должны ввести, lsа затем нажать upклавишу.
Поиск подстроки
если вы хотите, чтобы « строка поиска могла совпадать в любом месте строки истории », вы должны использовать history-substring-search-forward
и history-substring-search-backward:
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
Таким образом, если вы ищете ls -ltr, вы можете ввести ls, но также ltr, прежде чем нажать up.
Справочник: Справочное руководство Bash - Команды для истории .
historyпокажет вам все команды bash, сделанные ..