Uso !n donde (n) es el número de línea para ejecutar una línea en el archivo de historial que quiero ejecutar en el símbolo del sistema que encuentro a través de history|less.
Pero hay un evento de historial de línea de comando que deseo modificar manualmente. ¿Cómo puedo insertar en la línea de comando un contenido de eventos del historial sin que realmente se ejecute para poder modificarlo y luego presionar regresar?
Mejor,
Respuesta aceptada:
Para solicitar que el comando se imprima en lugar de ejecutarse después de la sustitución del historial, agregue :p
modificador, por ej. !42:p
. El comando resultante también se ingresará en el historial, por lo que puede presionar Arriba para editarlo.
Si tienes el histverify
conjunto de opciones (shopt -s histverify
), siempre tendrá la oportunidad de editar el resultado de las sustituciones del historial.
El fc
incorporado brinda acceso limitado a la expansión del historial (sin designadores de palabras) y le permite editar un comando anterior en un editor externo.
Puedes usar !prefix
para referirse al último comando que comienza con prefix
y !?substring
para referirse al último comando que comienza con substring
. Cuando sabes lo que estás buscando, esto puede ahorrar mucho tiempo en history | less
.
Otra forma de buscar en el historial anterior es la búsqueda incremental:presione Ctrl +R y comience a ingresar una subcadena de lo que está buscando. Presione Ctrl +R para ir a la aparición anterior de la cadena de búsqueda hasta el momento y Ctrl +S si has ido demasiado lejos. La mayoría de las teclas excepto Ctrl +R , Ctrl +S , Retroceso y los caracteres ordinarios finalizan la búsqueda incremental y tienen su efecto habitual (por ejemplo, teclas de flecha para mover el cursor en la línea a la que ha llegado, Intro para ejecutar el comando).