Ответы:
Вы можете сделать это следующим образом: В командной строке нажмите Ctrl+, rа затем введите команду, которую вы хотите вызвать, в вашем случае xyz
. Это покажет вам полную команду без ее выполнения.
Попробуй !xyz:p
; она вызовет команду на вершину истории, не выполнив ее, поэтому, например, стрелка вверх может немедленно получить к ней доступ для интерактивного редактирования.
Кроме того, я практикую это при вызове команд с регулярным выражением, которые могли предположительно выкопать что-то разрушительное, с тех пор как поспешный !r
, намеревался вызвать самую последнюю rsync ...
команду, откатился назад и выполнил команду, rm *
которая была помещена в стек совсем недавно чем rsync.
rm -rf ./*
никогда не был так благодарен в течение определенного периода. К сведению, !xyz:p
сработало, спасибо, но потребовалось несколько дополнительных нажатий клавиш, чем решение ctrl-r.
EMACS
всего vi
подходит для глаз , в то время как! -Path лучше всего подходит для таких олаторов, как я.
Выполните следующую команду. Это будет повторять последнюю выполненную команду. Вы можете скопировать и отредактировать команду. Эта команда протестирована в Debian.
история | хвост -2 | grep -v история | cut -d '' -f4-
Или Нажмите и удерживайте Ctrl + R и введите начальную букву вашей последней команды. В нем будут перечислены команды, которые вы выполняли ранее на основе вашего ввода. Как только он показывает желаемую команду, просто нажмите стрелку вправо, чтобы выбрать эту команду.
!
нотация, потому что вы можете нажать Ctrl-r несколько раз, чтобы перейти к истории соответствия. Когда вы прибудете в нужное место, вы можете попытаться выполнить не с Enter, а с Ctrl-o для большой прибыли.