Ejecuto rutinariamente varias screensesiones en mis escritorios y servidores Linux.
Un problema con esto es que cuando grepreviso mi historial de comandos, encuentro que emití un comando en una sesión diferente y tengo que desconectar y volver a adjuntar para obtener ese elemento del historial.
¿Es posible 'forzar' que las historias actualizadas de manera diferente de múltiples sesiones vayan a una historia central?

Respuestas:
Hay dos cosas que debes hacer:
shopt -s histappenden su.bashrc. Esto se agregará al archivo de historial en lugar de sobrescribirlo..bashrc, insertarPROMPT_COMMAND="$PROMPT_COMMAND;history -a; history -n"y el archivo de historial se volverá a escribir y volver a leer cada vez que bash muestra el mensaje.EDITAR: Gracias a e-t172 por el
history -ntrucofuente
PROMPT_COMMANDdefinido previamente, así que tuve que usarPROMPT_COMMAND="history -a; history -n"para evitar errores.No lo use
history -a; history -n, no funciona como esperaba y le dejará con muchos comandos duplicados y fuera de orden en su historial. Una solución que funciona generalmente como se espera es la siguiente:Usar una nueva línea en lugar de un punto y coma también es una forma corta de tratar el problema de punto y coma faltante / duplicado con PROMPT_COMMAND.
fuente
exportno es necesario. Debido a que se supone que las opciones de shell interactivas se establecen desde las~/.bashrccuales se llama desde cada shell secundario, la herencia no es necesaria.PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"en su lugar?PROMPT_COMMAND no está definido por defecto en algunas distribuciones. Por ejemplo, se define en Arch, pero no en Debian.
Tengo un bashrc en mi Dropbox que uso mientras salto de distribución, e incluye:
fuente
PROMPT_COMMAND="$PROMPT_COMMAND; history -a; history -n"PROMPT_COMMAND="$PROMPT_COMMAND"$'\n''history -a; history -n'