En bash, para mostrar el nombre del programa actual en la línea de estado duro de la pantalla GNU solo se necesitan dos líneas de configuración. Primero, diga a la pantalla cómo se ve normalmente el final de su mensaje y proporcione un título predeterminado para una ventana cuando esté sentado en el shell:
shelltitle "$ | bash"
A continuación, coloque esta secuencia de escape en la variable PS1, antes de los caracteres que normalmente terminan la solicitud '$ '
en este caso:\033k\033\\
Esta técnica funciona, hasta cierto punto. El título de la ventana hardstatus se actualiza al nombre del programa que se está ejecutando actualmente, y luego vuelve al título predeterminado poco después de que finaliza la ejecución. Sin embargo, un problema importante es que esta cadena de escape no se escapa por sí misma, lo que causa problemas de ajuste de línea con comandos más largos que la línea inicial.
Esto era molesto, así que me puse a buscar una solución. Resulta que simplemente escapar de la secuencia de escape anterior corrige el ajuste de línea:\[\033k\]\[\033\\\]
¡Excelente! El título de mi ventana hardstatus todavía se actualiza al nombre del programa que se está ejecutando actualmente, y ahora mis comandos más largos se ajustan correctamente a la segunda línea. Sin embargo, con esta nueva secuencia de escape en mi PS1, la pantalla actualiza el título de la ventana al comando real que estoy escribiendo, no simplemente el nombre del programa actual una vez que se ejecuta.
Me pregunto, ¿alguien ha conseguido que esto funcione correctamente, es decir, ajuste de línea y actualización adecuada del título de la ventana de estado duro?
<pre>
. Al igual que Dennis, no entiendo lo que estás tratando de lograr exactamente, ¿podrías darnos un ejemplo?
echo test; less somefile
seecho
mostrará como el título de la ventana en lugar de hacerloless
. ¿Es lo que quieres que seless
muestre en su lugar?