Spec-Zone.ru › Bash

Поиск команд в истории

Readline предоставляет команды для поиска строк, содержащих заданную строку, в истории команд (см. Возможности Bash для работы с историей). Существует два режима поиска: инкрементный и неинкрементный.

Инкрементный поиск начинается до того, как пользователь закончит вводить строку поиска. При вводе каждого символа строки поиска Readline отображает следующую запись истории, соответствующую введённой части строки. Для инкрементного поиска требуется ввести лишь столько символов, сколько необходимо для нахождения нужной записи истории. При использовании режима редактирования emacs нажмите C-r, чтобы выполнить поиск назад по истории по заданной строке. Нажатие C-s выполняет поиск вперёд по истории. Для завершения инкрементного поиска используются символы, указанные в значении переменной isearch-terminators. Если этой переменной не присвоено значение, инкрементный поиск завершается символами ESC и C-j. C-g прерывает инкрементный поиск и восстанавливает исходную строку. После завершения поиска текущей строкой становится запись истории, содержащая строку поиска.

Чтобы найти другие подходящие записи в списке истории, нажмите C-r или C-s, в зависимости от направления поиска. Будет выполнен поиск назад или вперёд по истории следующей записи, соответствующей введённой части строки поиска. Любая другая последовательность клавиш, связанная с командой Readline, завершает поиск и выполняет эту команду. Например, RET завершает поиск и принимает строку, тем самым выполняя команду из списка истории. Команда перемещения завершает поиск, делает последнюю найденную строку текущей и начинает редактирование.

Readline запоминает последнюю строку инкрементного поиска. Если дважды нажать C-r без ввода символов, задающих новую строку поиска, Readline использует запомненную строку поиска.

При неинкрементном поиске сначала считывается вся строка поиска, и только затем начинается поиск подходящих записей истории. Строку поиска можно ввести вручную или взять из содержимого текущей строки.

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Searching.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API