Как циклически выполнять обратный i-поиск в BASH?

В терминале я могу набрать CTRL-R для поиска соответствующей команды, ранее введенной в BASH. Например, если я набираю CTRL-R , тогда grep отображает мою последнюю команду grep, и я могу нажать Enter, чтобы использовать ее. Однако это дает только одно предложение. Есть ли способ перебирать другие ранее введенные команды соответствия?

319 голосов | спросил Village 24 AMpWed, 24 Apr 2013 06:07:35 +040007Wednesday 2013, 06:07:35

3 ответа


443

Если я правильно понял вопрос, вы должны иметь возможность альтернативы путем многократного нажатия Ctrl + R .

например:.

Ctrl + R grep Ctrl + R Ctrl + R ...

Это поиск в обратном порядке через вашу историю. Для поиска вперед используйте Ctrl + S . (Подробнее здесь .)

ответил Runium 24 AMpWed, 24 Apr 2013 06:31:09 +040031Wednesday 2013, 06:31:09
181

Если вы чувствуете, что команда будет использоваться часто, вы можете добавить тег

  

команда #useful

Тогда

  

ctrl+r #useful

Это работает, потому что # является разделителем комментариев, то есть все, что приходит после символа, не интерпретируется как команда. Однако он будет записан в истории и, следовательно, доступен для поиска.

ответил Sathyam 9 72014vEurope/Moscow11bEurope/MoscowSun, 09 Nov 2014 11:07:52 +0300 2014, 11:07:52
37

Вы также можете настроить стрелки вверх и вниз, чтобы выполнить несколько другой поиск, добавив эти строки в ~ /.inputrc:

"\e[A": history-search-backward
"\e[B": history-search-forward

Вместо поиска подстроки в любом месте команды (например Ctrl - r ), он будет искать команду , начиная с текста слева от курсора . Например, если я запустил следующие команды:

$ ls bart
$ ls fools

затем введите ls и дважды нажмите Вверх , он покажет ls bart и курсор в том же месте. Сравните с Ctrl - r , где он найдет ls дважды в последней строке, так что вам нужно будет снова нажать его найдите предыдущую строку.

Эти подходы имеют свои сильные стороны, и оба они могут сэкономить много времени.

ответил l0b0 24 PMpWed, 24 Apr 2013 13:20:18 +040020Wednesday 2013, 13:20:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132