¿Cómo (y dónde) se puede cambiar el patrón 'user @ host $:' en gnome-terminal?

19

Cuando inicio terminal en Ubuntu, veo:

ilya@HOST:~$

Necesito agregar una marca de tiempo a esto, algo así como:

2011-10-09T09:32:00 ilya@HOST:~$

¿Cómo puedo configurar esto?

    
pregunta Ilya Smagin 09.10.2011 - 16:34

5 respuestas

8

Hay un buen artículo sobre cómo cambiar tu prompt bash y lo que significan todos los símbolos especiales (como \ h). También tiene un enlace sobre cómo cambiar los colores en su solicitud.

En cuanto a aplicar los cambios en tu .bashrc, simplemente ejecuta source ~/.bashrc

    
respondido por el Tolli 15.10.2011 - 05:21
18

Pon esto al final de tu ~/.bashrc

PS1="\D{%F}T\t $PS1"

Luego reinicia tu terminal. Para explicaciones, lea la página de manual de bash, busque ^ PROMPTING

(lo siento, la primera versión de esta respuesta informó erróneamente de comillas simples en lugar de dobles)

    
respondido por el enzotib 09.10.2011 - 16:49
3

Para aplicar el cambio ~ / .bashrc, escriba esto dentro del terminal en ejecución:

exec bash

No es necesario reiniciar la terminal. Esto es útil para cada cambio (en el entorno del terminal)

    
respondido por el daniele 12.10.2011 - 10:25
3

Me parece que una buena configuración es tener 3 grupos de color:

  • nombre de usuario & amp; nombre de host
  • ubicación actual
  • sucursal actual de git

¡Además de una nueva línea para que vuelvas al lado izquierdo!

es decir,

Puede tener todo esto teniendo lo siguiente en su archivo .bashrc en su directorio de inicio.
Funciona para Unix y OS X

parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ ()/'
}
PS1='\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[01;33m\]$(parse_git_branch)\[3[00m\]\n$ '

Si quiere esto más sus marcas de tiempo en cuatro colores, puede tener:

$ PS1='3[01;31m\] \D{%F} \t \[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[01;33m\]$(parse_git_branch)\[3[00m\]\n$ '

como en:

aunque personalmente creo que ahora voy a ir con:

parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)//'
}
PS1='3[01;31m\]\t3[00m\]:'
PS1=$PS1'\[3[01;32m\]\u@\h\[3[00m\]:'
PS1=$PS1'\[3[01;34m\]\w3[00m\]:3[01;33m\]$(parse_git_branch)\[3[00m\]\n$ '
PS2='\[3[01;36m\]>'

para

    
respondido por el Michael Durrant 10.04.2014 - 00:05
0

Para hacer esto de manera temporal pero inmediata / sobre la marcha, por ejemplo, para que pueda tener algo de privacidad mientras realiza un screencast, puede hacer lo siguiente

echo PS1='$\ ' > /tmp/ps1 && source /tmp/ps1 && rm /tmp/ps1

La variable PS1 establece el formato, la fuente aplica esa configuración leyendo de un archivo.

Ahora la línea de comando se ve así:

$ 
    
respondido por el qubodup 06.11.2015 - 10:33

Lea otras preguntas en las etiquetas