6 Shells alternativos

Bash, o el Bourne Again Shell, es lo que viene preinstalado en la mayoría de las distros de Linux. Sin embargo, no es el única sehell allí afuera. Hay varios otros para probar. Aquí hay seis shells alternativos que pueden reemplazar bash. Cada uno de ellos tiene sus pros y sus contras, así que tienes que probarlos y ver cuál es el mejor para usted. Continuar leyendo “6 Shells alternativos”

Accesos directos de Bash para máxima productividad

Puede o no sorprenderle saber que el shell bash tiene una serie muy rica de accesos directos  que pueden hacer que su vida, trabajando con la línea de comandos sea mucho más fácil. Esta capacidad para editar la línea de comandos mediante atajos es proporcionada por la biblioteca GNU Readline. Esta biblioteca es utilizada por muchas otras aplicaciones de * nix además de bash, así que aprender algunos de estos atajos no sólo le permitirá crear comandos zip bash con una facilidad absurda :), sino que también puede hacerte más eficiente en el uso de una variedad de otros * nix . No quiero entrar en Readline demasiado profundamente por lo que voy a mencionar una cosa más. De forma predeterminada, Readline utiliza los enlaces de emacs, aunque se puede configurar para usar el modo de edición vi, sin embargo prefiero aprender el comportamiento predeterminado de la mayoría de las aplicaciones (me parece que hace que mi vida sea más fácil no tener que personalizar cosas constantemente). Si estás familiarizado con emacs, entonces muchos de estos atajos no serán nuevos para ti, así que estos son principalmente para el resto de nosotros :). Continuar leyendo “Accesos directos de Bash para máxima productividad”

Cómo personalizar colores y contenido de Bash en el prompt de terminal de Linux

Actualizar Fedora 24 a 25 con DNF

Hoy, Bash es el shell por defecto en la mayoría (si no en todas) las distribuciones modernas de Linux. Sin embargo, es posible que haya notado que el color del texto en el terminal y el contenido del mensaje pueden ser diferentes de una distro a otra.

En caso de que se han estado preguntando cómo personalizar esto para una mejor accesibilidad o mero capricho, les montreré como puede cambiarlo.

Variable de entorno de Bash PS1

El símbolo del sistema y el aspecto del terminal están gobernados por una variable de entorno denominada PS1. De acuerdo con la página de manual Bash, PS1 representa la cadena del prompt principal que se muestra cuando el shell está listo para leer un comando.

El contenido permitido en PS1 consta de varios caracteres especiales de escape invertido cuyo significado se muestra en la sección PROMPTING de la página de manual.

Para ilustrar, vamos a mostrar el contenido actual de PS1 en nuestro sistema (esto puede ser algo diferente en su caso):

$ echo $PS1
[\u@\h \W]\$

Ahora explicaré cómo personalizar PS1 según nuestras necesidades.

Personalización del formato PS1

De acuerdo con la sección PROMPTING en la página de manual, este es el significado de cada carácter especial:

\U: el nombre de usuario del usuario actual.
\H: el nombre de host hasta el primer punto (.) En el nombre de dominio completo.
\W: el nombre de base del directorio de trabajo actual, con $HOME abreviado con un tilde (~).
\$: Si el usuario actual es root, muestra #, $ en caso contrario.

Por ejemplo, es posible que desee considerar la posibilidad de agregar ! Si queremos mostrar el número del historial del comando actual, o \H si queremos mostrar el FQDN en lugar del nombre del servidor corto.

En el ejemplo siguiente, importaremos ambos a nuestro entorno actual ejecutando este comando:


PS1="[\u@\H \W !]\$"

Al presionar Intro, verá que el contenido del mensaje cambia como se muestra a continuación. Compare el mensaje antes y después de ejecutar el comando anterior:

Ahora vamos un paso más allá y cambiamos el color del usuario y el nombre de host en el símbolo del sistema, tanto el texto como el fondo que lo rodea.

En realidad, podemos personalizar 3 aspectos del indicador:

Formato de Texto Color del texto Color de Fondo
30: Negro 40: Negro
1: negrita 31: Rojo 41: Rojo
4: subrayado 32: Verde 42: Verde
33: Amarillo 43: Amarillo
34: Azul 44: Azul
35: Púrpura 45: Púrpura
36: Cian 46: Cian
37: Blanco 47: Blanco

Utilizaremos el carácter especial de \e al principio y un m al final para indicar que lo que sigue es una secuencia de color.

En esta secuencia, los tres valores (fondo, formato y primer plano) se separan por comas (si no se da valor, se asume el valor predeterminado).

Además, dado que los rangos de valores son diferentes, no importa cuál (fondo, formato o primer plano) especifique primero.

Por ejemplo, la siguiente PS1 hará que el mensaje aparezca en texto subrayado amarillo con fondo rojo:


PS1="\e[41;4;33m[\u@\h \W]$ "

Tan bueno como parece, esta personalización sólo durará para la sesión de usuario actual. Si cierra su terminal o sale de la sesión, los cambios se perderán.

Para que estos cambios sean permanentes, deberá añadir la siguiente línea a ~/.bashrc o ~/.bash_profile según su distribución:


PS1="\e[41;4;33m[\u@\h \W]$ "

Siéntase libre de jugar con los colores para encontrar lo que funciona mejor para usted.