Ответы:
Вы можете сделать это следующим образом: В командной строке нажмите 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 для большой прибыли.