Как я могу добавить команду к истории Bash, не выполняя его?

Время от времени было бы полезно добавить команду непосредственно к истории в Bash, на самом деле не выполняя его. До сих пор закрытая вещь, которую я нашел, добавляет a # перед ним и поражающий возврат. Есть ли лучшие пути?

32
задан 05.03.2013, 15:21

3 ответа

history -s команда

40
ответ дан 07.12.2019, 09:10

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. Другое нажатие клавиши могло быть выбрано вместо "\C-q".

9
ответ дан 07.12.2019, 09:10

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

  1. Перейдите к началу строки: CTRLA: +1 инструкция, +2 нажатий клавиш
  2. Добавить # (потребности SHIFT): +1 инструкция, +2 нажатия клавиши
  3. Добавление его к истории с ВХОДИТ: +1 инструкция, +1 нажатие клавиши

таким образом в общих 3 инструкциях, 5 нажатиях клавиш.

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

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

3
ответ дан 07.12.2019, 09:10

Теги

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