Я могу использовать history
команду в CentOS для получения списка предыдущих введенных команд, однако, если я сделаю что-то вроде:, !372
history попытается выполнить указанную команду.
Мне нужно, чтобы предыдущая команда запуска появилась в текущем курсоре. Вот пример:
[dev@home ~]$ previous_command_no_execute!372
!372
и оно развернется для вас.Вы можете использовать Ctrlrи затем ввести несколько символов из оригинальной команды, например:
выше я набрал
Ctrl-r /etc
и вытащилsudo /etc/init.d/apache2 restart
команду из историиисточник
history | grep 372
должно работать, верно?Редактировать:
Кроме того, вы можете сделать что-то вроде
echo !372 > /dev/clip
помещения каталога команд в буфер обмена.источник
MDMarra дал простой способ (
history|grep
и копировать / вставлять, используя среду рабочего стола, если она у вас есть). Я предоставлю то, что я называю трудным путем, который работает, если у вас нет рабочего стола или мыши.Предполагая, что вы используете bash в качестве оболочки:
$ set -o vi
$ ESC372k
(теперь у вас есть команда, которую вы выполнили 372 команды назад, в строке, и вы будете в
vi
режиме командного стиля. Отредактируйте, как если бы вы использовалиex
/vi
)источник
vi
стиль редактирования. Он должен работать сразу после васset -o vi
и работать со всей вашей историей (режим редактирования - это просто интерфейс к истории команд оболочки и другим вещам).Самый простой и быстрый способ сделать то, что вы хотите, это запустить:
с последующим Enterи↑
источник
Вы используете настольную систему или сервер?
На моей настольной системе Kubuntu с открытой оболочкой она поддерживает выделение мышью. Я обычно просто выделяю текст мышью и щелкаю среднюю кнопку мыши, чтобы вставить его. Будет ли это работать для вас?
Таким образом, вы можете grep для команды. Выделите текст. Вставьте его средней кнопкой мыши, затем отредактируйте.
Возможно, есть лучший способ, но это работает для меня.
источник
Нет команды для автоматической вставки, но вы можете вызвать любую команду в редакторе для ее редактирования перед выполнением. это может достичь того, что вы ищете, но после выхода команда будет выполнена, поэтому, если вы хотите прервать работу, вы должны очистить буфер редактирования перед выходом из редактора.
fc -e vi 372 372
источник