24 oct 2008

Colores en Shell (Bash)

Los colores en shell ayudan a identificar facilmente al usuario, el sistema y tambien los tipos de archivos.

Esto se puede hacer facilmente editando el archivo .bashrc, el cual debe estar localizado en el directorio home (~) de cada usuario. En el archivo .bashrc agregar un alias para ls:


user@host$ vim ~/.bashrc
alias ls='ls --color=auto'
Tambien es posible especificar colores para el command prompt en el archivo .bashrc, o especificarlo en la variable de entorno PS1.

Los colores se especifican de la siguiente manera:
\[\033[32m\]
Lo que esta en color azul es una secuencia de escape que siempre debe estar para especificar un color, y lo que esta en color rojo es el codigo de color.

Los colores que hay disponibles son:

30m
31m
32m
33m
34m

35m
36m
37m
38m
39m
Un ejemplo de PS1:

PS1="\[\033[32m\]\u@\[\033[35m\]\h:\[\033[34m\]\W\$ "
en el ejemplo se puede observar la especificacion de colores, ademas estan otras secuencias de escape:

  • \u muestra el nombre del usuario
  • \h muestra el nombre del host
  • \W muestra el directorio de trabajo actual
  • \$ muestra $ para usuario normal y # para root
Una vez editado el archivo .bashrc tanto con el alias como con PS1, tienes que ejecutar el comando:

user@host$ source .bashrc
Tambien te puedes ayudar con el comando tput para conocer los colores:

user@host$ tput setaf 3 > color.txt
user@host$ less color.txt
puedes ejecutarlo pasandole desde 0 hasta 9 para obtener los codigos de color.

No hay comentarios: