Mi screen
sesión actual tiene 12 ventanas abiertas. Se ha estado ejecutando durante semanas ... Sé que ejecuté un convert
comando ImageMagick en una de estas 12 ventanas de pantalla en algún momento de la semana pasada ... ¿hay alguna forma de que pueda buscar fácilmente en el historial de Bash de las 12 instancias, sin cerrarlas o ejecutarlas? history | grep convert
en las 12 pantallas?
11
setopt share_history
dentro,/etc/zsh/zshrc
así que este problema nunca deberíaRespuestas:
Puede ejecutar
history -a; history -c
en todas las ventanas para guardar el historial. Y luegohistory -r
para refrescarlo.Para resolverlo de manera más permanente, agregue esto a su
.bashrc
:fuente
Suena dificil. Aquí hay un par de métodos que pueden funcionar para usted.
Si tiene instaladas herramientas de contabilidad de procesos (en Linux, busque un paquete llamado
acct
) y el permiso para usarlas, puede averiguar cuándo y posiblemente en qué terminal ejecutóconvert
:Si esto no está disponible o no es concluyente, puede ejecutar un
history
comando en cada instancia de bash para buscarconvert
comandos. Esto también encontrará comandos que estaban en el archivo de historial cuando bash comenzó.$(seq 0 11)
itera sobre los números de las ventanas de su pantalla. Asegúrese de omitir las ventanas que actualmente no ejecutan bash, pero algún otro proceso que interprete la entrada de manera diferente.screen -p $w stuff …
envía la siguiente cadena como entrada a la ventana especificada. Necesita la nueva línea al final de la cadena./tmp/convert.history
contendrá una lista de líneas como3 convert foo.jpg
, si ejecutóconvert foo.jpg
en la ventana 3.fuente
history | grep convert
. En todas las ventanas Estoy decepcionado, quería aceptar otra gran respuesta por Gilles!tcsh le permite compartir el historial entre sesiones mediante el uso del alias periódico.
En su archivo .cshrc (o .tcshrc):
Esto ejecutará automáticamente el comando de historial cada 60 minutos. Esto guardará el historial en un archivo de historial común en su directorio de inicio. Para actualizar el historial con más frecuencia, reduzca el número de período o simplemente ejecute el comando "periódico" para actualizar manualmente
fuente
Bash solo escribe la historia cuando sale, lo que hace que esto sea problemático en el mejor de los casos. He oído que zsh puede compartir el historial entre sesiones activas.
fuente