Actualmente, el título de mi terminal / pestaña bash está configurado según el directorio en el que estoy. Por ejemplo:
bob@bobscomputer:~/i/had/some/great/pie/yesterday
Esto no es muy útil si tengo varias pestañas abiertas una al lado de la otra. Por ejemplo, si tengo 4 pestañas del directorio anterior abiertas de lado a lado, todo lo que veo es
bob@bobscomputer:~/i/had...
4 veces.
Me gustaría que todos mis títulos de terminal se configuren automáticamente en la última parte de la ruta. En el ejemplo anterior, me gustaría que el título sea
yesterday
Obviamente, el título debería cambiar cuando cambio los directorios. Me gustaría hacer esto sin cambiar mi solicitud, por lo que la solicitud y el título del terminal deberían ser diferentes.
¿Hay alguna forma de hacer esto?
command-line
bash
titlebar
Rana fija
fuente
fuente
Respuestas:
¿Por qué quieres hacerlo sin modificar tu variable PS1? Esa es la forma correcta de hacerlo.
Si ejecuta lo siguiente, obtendrá lo que desea:
export PS1="\[\e]0;\W\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
Esto solo toma el mensaje predeterminado:
export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
... y reemplazando
\u@\h: \w
con\W
.Puede hacer lo mismo con cualquier comando que haga eco del código de escape correcto:
echo -en "\e]0;${PWD##*/}\a"
... pero entonces estarías luchando constantemente contra bash para evitar que lo haga usando PS1 (la mejor manera).
fuente
Si. Prepend:
\[\e]0;\W\a\]
a tu PS1. Esto no cambiará la apariencia de sus mensajes, pero establecerá automáticamente el título de las pestañas de su terminal en el nombre base del directorio de trabajo actual.fuente