30

Время от времени было бы полезно добавить команду непосредственно в историю в Bash, фактически не выполняя ее. Пока что закрытая вещь, которую я нашел, это добавление # перед ним и нажатие клавиши return. Есть ли лучшие способы?

3 ответа3

38

команда history -s

8

команда history -s

Вы можете даже связать нажатие клавиши, чтобы сделать это для вас. Вы можете ввести это в командной строке Bash:

bind '"\C-q": "\C-a history -s \C-j"'

или добавьте это в ваш ~/.inputrc:

"\C-q": "\C-a history -s \C-j"

затем вы можете что-то набрать и нажать Ctrl - q, и это будет добавлено в историю без выполнения. Пространство перед "истории" приводит к тому , сама команда , чтобы history не может быть добавлен к истории , если переменная содержит HISTCONTROL ignorespace или ignoreboth Вместо "\ Cq" можно выбрать другое нажатие клавиши.

3

Трудно придумать что-то более короткое, чем "команда" из одного символа, поэтому нам действительно нужно перейти на уровень нажатия клавиш. С моей настройкой bash и американской клавиатурой вы получаете:

  1. Перейти к началу строки: CTRL A: +1 инструкция, +2 нажатия клавиш
  2. Добавить # (нужен SHIFT): +1 инструкция, +2 нажатие клавиши
  3. Добавление его в историю с помощью ENTER: +1 инструкция, +1 нажатие клавиши

итого 3 инструкции, 5 нажатий клавиш.

Использование ALT # делает то же самое в 1 инструкции, 2 нажатиях клавиш.

YMMV в зависимости от раскладки клавиатуры и конфигурации bash.

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