Время от времени было бы полезно добавить команду непосредственно в историю в Bash, фактически не выполняя ее. Пока что закрытая вещь, которую я нашел, это добавление #
перед ним и нажатие клавиши return. Есть ли лучшие способы?
3 ответа
команда history -s
команда 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" можно выбрать другое нажатие клавиши.
Трудно придумать что-то более короткое, чем "команда" из одного символа, поэтому нам действительно нужно перейти на уровень нажатия клавиш. С моей настройкой bash и американской клавиатурой вы получаете:
- Перейти к началу строки: CTRL A: +1 инструкция, +2 нажатия клавиш
- Добавить
#
(нужен SHIFT): +1 инструкция, +2 нажатие клавиши - Добавление его в историю с помощью ENTER: +1 инструкция, +1 нажатие клавиши
итого 3 инструкции, 5 нажатий клавиш.
Использование ALT # делает то же самое в 1 инструкции, 2 нажатиях клавиш.
YMMV в зависимости от раскладки клавиатуры и конфигурации bash.