9

Учитывая историю команд:

1 pwd
2 mysql -u root -p
3 ps -ef | more
4 top
5 mysql -h 192.168.1.101 -u root -p

Когда вы нажимаете стрелку вверх, вы прокручиваете все эти команды. Я читал это где-то ранее (и сделал это на своем рабочем ПК), что вы можете настроить BASH так, чтобы при первом вводе p затем при нажатии стрелки вверх, он только прокручивал все команды в истории, начинающиеся с "p "(pwd и ps -ef | more). Когда я mysql затем нажимаю кнопку "Вверх", он прокручивает только все команды, начинающиеся с "mysql".

Я хотел бы настроить свой ноутбук, чтобы использовать это, но я не могу найти инструкции снова.

2 ответа2

11

Вы можете настроить инкрементальный поиск в /etc/inputrc (для общесистемных изменений) или ~/.inputrc (только для вашей учетной записи пользователя).

Добавьте эти две строки:

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

Кроме того, вы можете нажать ctrl+R чтобы войти в режим reverse-i-search . Затем вы можете начать печатать, и он найдет первую предыдущую строку, которая соответствует введенной вами строке (т. Е. Введите m и он вернется к mysql -h 192.168.1.101 -u root -p ; затем введите o и он перейдет назад в ps -ef | more как это первая строка с mo in.

Вы можете нажать ctrl+r раз, чтобы найти совпадение до этого (то есть ctrl+r,my,ctrl+r приведет вас к второй по счету команде, начинающейся с mysql)

Вы можете прочитать больше о поиске по истории поиска в Readline, о командах для взаимодействия с историей и о том, как вы можете изменять привязки клавиш по умолчанию и вести себя в man bash (или онлайн).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .