Я могу использовать history
команда в CentOS, чтобы получить список предыдущих введенных команд, однако, если я сделаю что-то вроде: !372
, история попытается запустить указанную команду.
Мне нужно, чтобы предыдущая команда запуска отображалась под текущим курсором. Вот пример:
[dev@home ~]$ previous_command_no_execute!372
Как насчет того, чтобы поместить это в свою командную строку:
$ !372
Затем нажмите ESC с последующим CTRL + E. Это автоматически расширится в командной строке, не запуская ее. (также расширяет все остальное в строке, включая env vars)
Насколько мне известно, это работает только на Bash.
Вы могли бы использовать Ctrlр а затем введите несколько символов из исходной команды, например.
(reverse-i-search)`/etc': sudo /etc/init.d/apache2 restart
выше я набрал Ctrl-r /etc
и это подтянуло sudo /etc/init.d/apache2 restart
команда из истории
history | grep 372
должно работать, правда?
Редактировать:
Кроме того, вы можете сделать что-то вроде echo !372 > /dev/clip
чтобы поместить каталог команд в буфер обмена.
MDMarra уступил легкий путь (history|grep
и скопируйте / вставьте, используя среду рабочего стола, если она у вас есть). Я предложу то, что я называю трудным, и это сработает, если вы не есть среда рабочего стола или мышь.
Предполагая, что вы используете bash в качестве оболочки:
$ set -o vi
$ ESC372 тыс.
(теперь у вас будет команда, которую вы выполнили 372 команды назад, в строке, и вы будете в vi
-style командный режим. Отредактируйте, как если бы вы использовали ex
/vi
)
Самый простой и быстрый способ сделать то, что вы хотите, - запустить:
!372:p
с последующим Войти и ↑
Вы используете настольную систему или сервер?
В моей настольной системе Kubuntu с открытой оболочкой она поддерживает выделение с помощью мыши. Обычно я просто выделяю текст мышью и щелкаю средней кнопкой мыши, чтобы вставить его. Подойдет ли это вам?
Итак, вы можете найти команду с помощью grep. Выделите текст. Вставьте его средней кнопкой мыши, затем отредактируйте.
Возможно, есть способ получше, но он работает для меня.
нет команды для автоматической вставки, но вы можете вызвать любую команду в редактор, чтобы отредактировать ее перед выполнением. это может достичь того, что вы ищете, но после выхода команда будет выполнена, поэтому, если вы хотите прервать выполнение, вы должны очистить буфер редактирования перед выходом из редактора.
fc -e vi 372 372