history -s
команда
Как добавить команду в историю Bash, не выполняя ее?
Время от времени было бы полезно добавить команду непосредственно в историю в Bash, фактически не выполняя ее. Пока что закрытая вещь, которую я нашел, это добавление #
перед ней и нажатие клавиши return. Есть ли лучшие способы?
3 ответа на вопрос
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 и американской клавиатурой вы получаете:
- Перейти к началу строки CTRLA:: +1 инструкция, +2 нажатия клавиш
- Добавить
#
(нужно SHIFT): +1 инструкция, +2 нажатие клавиши - Добавление его в историю с помощью ENTER: +1 инструкция, +1 нажатие клавиши
итого 3 инструкции, 5 нажатий клавиш.
Использование ALT#делает то же самое в 1 инструкции, 2 нажатия клавиш.
YMMV в зависимости от раскладки клавиатуры и конфигурации bash.
Похожие вопросы
-
2
.profile в Mac OS X?
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
10
Как я могу найти в истории bash и повторно запустить команду?
-
-
2
Можно ли передать выходные данные одной команды двум другим командам?
-
8
Переименуйте группу файлов одной командой
-
2
Почему мой путь не обновляется * сейчас *?
-
5
Как удалить символическую ссылку на каталог?
-
8
Спаси меня от бессмысленного терминала
-
9
Как можно добавить номер строки и табуляцию к каждой строке текстового файла?
-
1
Когда я должен положить конфигурации в .bashrc против. .bash_profile?