Cómo modificar el prompt de consola

 La terminal de Linux es una herramienta muy útil y poderosa, y siendo Linux uno de los Sistemas Operativos más usados en los servidores web, es una herramienta sumamente usada. Como programador, la terminal es una herramienta en la que se pasa mucho tiempo, sobre todo si se utiliza git. Por eso mismo en este artículo voy a ayudar a personalizar un poco ésta herramienta.

Muchas veces, ocurren errores dentro de los proyectos de git debido a que el programador no tiene la información de la rama en la que se ubica o del directorio en el que se está trabajando. En este artículo voy a detallar cómo hacer para mostrar información útil acerca del repositorio git en el que estamos trabajando, así como el directorio en el que nos posicionamos de manera fácil y rápida.

Lo primero que debemos hacer es iniciar un proyecto git (o movernos a una carpeta en la que ya tengamos un proyecto iniciado). Una vez que ya estemos en el proyecto necesitamos editar la variable PS1 del sistema. PS1 significa Prompt String 1, y es una variable de sistema que puede ser utilizada para dar información en la linea de comandos de Linux/Unix.

Para lograr editar esta variable, necesitamos hacer lo siguiente:

  1. Editar nuestro archivo .bashrc:
    nano ~/.bashrc
  2. Editar la variable agregando esto al final del archivo:
  3. 
    parse_git_branch() {
       git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
    }
    PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
    

    Esto va a producir lo siguiente en nuestro prompt:

    •  ${debian_chroot:+($debian_chroot)} – Condicional que checa si debian_chroot existe, de ser así, lo agrega en el prompt para indicar que el usuario está en dicho ambiente.
    • \[\033[01;32m\]\u@\h\[\033[00m\]: – Despliega el nombre de usuario (\u) y en hostname (\h) en color verde (y luego cancelamos el color para desplegar :)
    • \[\033[01;34m\]\w - Despliega el directorio en el que nos encontramos,en color azul.
    • \[\033[33m\]\$(parse_git_branch)\[\033[00m\] $  – Despliega el resultado de la función parse_git_branch que nos dice el nombre de la rama en la que nos encontramos en ese momento, en color amarillo; y finalmente cancelamos color y terminamos la entrada.
  4. Guardamos el archivo.
  5. Aplicamos los cambos corriendo:
    source ~/.bashrc

Después de haber hecho esto, podemos ver que la linea de comandos ahora nos despliega información útil a primera vista que nos pueden ayudar a evitar errores (como usar una rama de nuestro proyecto que no queremos).

Ejemplo de bash prompt


Para más infrmación acerca de la variable PS1, les dejo el siguiente enlace: Bash Prompt PS1

Comentarios

Mi foto
JuanoBananoX
Desarrollador de Software, aficionado de los videojuegos y la cultura geek, escritor amateur y entusiasta de la tecnología. Con experiencia de 10+ años trabajando con PHP, WordPress, JavaScript, React, CSS, Java y distintas Bases de Datos.

Entradas más populares de este blog

Cómo agregar bloques de código en Blogger

Metal Gear Solid