Я часто ищу изменения с history | grep 'string'
Я получаю список команд в моей истории вместе с номером строки истории), например
history | grep 'git'
755 git status
1535 git push origin master
1570 git merge origin/one-146
1667 git reset --hard origin/master
Теперь я могу вспомнить и выполнить команду за один раз !nnn
, например:
!755
git status
# On branch master
nothing to commit, working directory clean
У меня такой вопрос: как я могу вспомнить пронумерованную команду истории и остаться в командной строке для редактирования, а не выполнить ее сразу же «как есть», как это !
происходит, чтобы я мог изменить несколько вещей, например, до возврата?
источник
Ctrl-a
например) остановит поиск, оставив текущую запись истории в командной строке, не выполняя ее. Этого может быть или не быть достаточно, в зависимости от того, что хочет @Michael.Если вы сконфигурируете свой файл .bashrc для использования редактора vi в командной строке, это сделает редактирование командной строки намного менее сложным.
Первый, когда «набор -o VI» включена, то вы можете просто нажать «<Esc> к» , а затем продолжайте нажимать «K» , чтобы идти вверх файл истории , как это было, если вы идете мимо входа, использования «J» идти вниз .
ПРИМЕЧАНИЕ: при использовании vi существует два режима: команда и редактирование, чтобы войти в командный режим, нажмите ESCAPE KEY ONCE, затем a, A, i, I и т. Д., Чтобы вставить.
Простая панель курсоров в vi: left = h, down = j, up = k, right = l http://linuxmeister.net/vi/vi-Summary.jpg
Я добавил все записи, необходимые для этой работы: http://linuxmeister.net/Notes/bashrc-simple.html
Итак, основываясь на очень полезной информации выше, я смог использовать «историю» и ВЫЗВАТЬ строку из «истории», БЕЗ ее выполнения. (СПАСИБО ЗА ЭТО ПОСТ!)
Если Shopt указан в списке, и его история отключена! выполнит немедленно,
если вы добавили в свой .bashrc или набрали: shopt -s histverify , то a! позволяет редактировать, например:
->! 5
когда я нажимаю! 5 появляется следующая команда, но она НЕ выполняется
### если значение «включен».
Помните, что Линус и Ричард создали инструменты Linux и GNU для использования преимуществ UNIX. Редактор vi (созданный Биллом Джой) является одним из лучших инструментов для освоения, так как он используется для КАЖДОГО дистрибутива UNIX и Linux.
Все остальные редакторы командной строки должны быть загружены и требуют дополнительного программного обеспечения. Использование графического интерфейса в Linux (кроме Firefox, Thunderbird и OpenOffice) похоже на буксировку вашего Diesel 4x4 с VW Beetle 1968 года ... это будет работать, но это не имеет никакого смысла.
Помните, что Керниган говорил о графическом интерфейсе: «то, что вы видите, это все, что вы получаете».
источник
затем нажмите стрелку вверх, удалите слово
echo
и отредактируйте остальные; нажмите ввод, чтобы выполнить.источник