LINUCA
LINUCA - Asociación de Usuarios GNU/Linux en Cantabria
CONTENIDOS
. La Asociación
. ¡ Apúntate a socio !
. Fotos
. Los más leídos
. Autores [Actividad]
. Últimos Comentarios
. ¡Todos los titulares!
. Guía de Estilo
. Cómo publicar en Linuca
. Links cortos
. Lista de Correo
   [Mensajes antiguos]
   [Etiqueta en la Lista]
. Todas las Listas
. ¿Sugerencias?
. ¡Sindícanos!
Gràcies Bulma!
Esta página usa el código fuente de Bulma :-)
Busquedas

Ultimos kernels
(25/07/2014 14:26:27)
Debian
Última actualización
stable: 12/07/2014
testing: 25/07/2014
unstable: 25/07/2014
Modificar el prompt en Bash (21405 lecturas)
Por Fernando Gómez
Mxyzptlk (http://mxhome.es)
Creado el 01/03/2004 15:04 modificado el 01/03/2004 15:04

Este pequeño manual pretende ampliar lo que kyle expuso en otro artículo, modificar el prompt de Bash de manera que nos sea más útil y vistoso.


Pagina1/1

Toda la configuracion del prompt se guarda en la variable $PS1, si queréis ver como está actualmente lo podréis hacer con 'echo $PS1' desde consola.

En primer lugar hay que destacar dos aspectos a la hora de visualizar el prompt: qué vamos a visualizar y cómo lo haremos.

Dentro del prompt del sistema se puede mostrar gran cantidad de información: como el usuario activo, el nombre de host, el directorio actual, la fecha y hora, la versión de Bash y si el usuario actual es root o no. Todo ello está disponible en la siguiente tabla, extraída y traducida del Bash-Prompt HOWTO.


\a carácter de campana ASCII (07)
\d la fecha en el formato "DíaDeLaSemana Mes DíaDelMes" (p.e., "Tue May 26")
\e carácter de escape ASCII (033)
\h el nombre de host a partir del primer '.'
\H el nombre de host
\j el número de trabajos de la shell
\l el número de la shell activa
\n nueva línea
\r retorno de carro
\s el nombre de la shell
\t la hora en formato 24-horas HH:MM:SS
\T la hora en formato 12-horas HH:MM:SS
\@ la hora en formato 12-horas am/pm
\u el usuario activo
\v la versión de bash (p.e., 2.00)
\V la release de bash, versión + patchlevel (p.e., 2.00.0)
\w la ruta completa del directorio de trabajo actual
\W el directorio de trabajo actual
\! el número en el historial de este comando
\# el número de comando
\$ si el UID es 0, visualiza #, si no lo es, visualiza $
\nnn el carácter correspondiente al número octal nnn
\\ contrabarrra
\[ comienza una secuencia de caracteres no imprimibles que puede usarse para ejecutar un comando en el prompt
\] finaliza una secuencia de caracteres no imprimibles

De esta manera si ejecutamos en una consola:

[mxyzptlk@SKYNET mxyzptlk]$ PS1="[\u@\h \W\]$ "
[mxyzptlk@SKYNET mxyzptlk]$

obtendremos el prompt anterior.

Para ponerle colores solo hay que usar '\[033[bb;c;ccm\]', donde 'bb' será el color de fondo, y 'c;cc' el color del texto. Hay que destacar que una vez puesto lo anterior se mantiene durante todo el prompt así que hay que usar varias veces el '\[033'. Yo siempre pongo al final de toda la línea '\[\033[0;0m\]', que restaurará los colores originales.

Los colores del texto son los siguientes:


Negro 0;30 Gris Oscuro 1;30
Azul 0;34 Azul Claro 1;34
Verde 0;32 Verde Claro 1;32
Cyan 0;36 Cyan Claro 1;36
Rojo 0;31 Rojo Claro 1;31
Morado 0;35 Morado Claro 1;35
Marrón 0;33 Amarillo 1;33
Gris Claro 0;37 Blanco 1;37

Ahí va un ejemplo, que es lo que actualmente tengo en mi ordenador:

PS1="\[\033[1;37m\][\[\033[0;32m\]\u\[\033[1;37m\]@\[\033[1;34m\]\h\[\033[41;1;33m\]\W\[\033[0;1;37m\]]\$ \[\033[0;0m\]"

Pero todo esto no sirve de nada si se quiere mantener la próxima vez que hagamos un login. Para ello hay que poner la línea completa en ~/.bashrc o en ~/.bash_profile. La diferencia de ponerlo en uno y otro archivo radica en que bashrc carga cada vez que se hace login o se abre una teminal en X, como Konsole; bash_profile únicamente carga al hacer un login en la máquina, si durante la sesión modificamos PS1 los cambios se guardarán hasta que hagamos un logout.

Aunque parezca complicado os invito a que probéis combinaciones, un color que resalte puede ayudar en multitud de ocasiones a aclararnos las cosas.


Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
1.  Re: Modificar el prompt en Bash (01/03/2004 16:41, #1424)
  Por: Dalfa (http://dalfa.plazalinux.com)
Tambien hay programas para darle mas "vistosidad" al bash promt por ejemplo http://bashish.sourceforge.net/ y si quieren temas aqui http://www.themedepot.org/showarea.php4?area=27

: ) talvez les sirva de algo

 
2.  Re: Modificar el prompt en Bash (02/03/2004 22:33, #1429)
  Por: El cobarde anónimo
Un tema interesante en la modificacion del bash, nos lleva irremediablemente a los scripts para el bash.

Hay dejo algun enlace de mucha utilidad.
    Mini como bash-scripting muy completo para ser un mini como, ademas en la misma pagina hay un articulo sobre un prompt "potente", haciendo referencia a las funciones.

    Para mi el mas importante de todos los how-to sobre bash scripting aqui.

 
3.  El mio, a ver si os gusta (12/03/2004 23:54, #1454)
  Por: El cobarde anónimo
\n\[\e[36;1m\]\u@\H \[\e[32;1m\]\d \t \[\e[31;1m\]\w/ \n\[\e[0m\]\$

 
4.  Re: Modificar el prompt en Bash (09/11/2005 06:09, #4274)
  Por: El cobarde anónimo (http://josefig.blogspot.com)
Saben, tienen mucha razo en cuanto a el bash, mas sin embargo no tendria tanto auge si no le podemos sacar todo el jugo. Lo mismo pasaria con una naranja, si la viesemos por fuera simplemente seria una naranja, pero si la abrimos e investigamos que tiene dentro encontrariamos secretos que le aguardan. Asi pasa con bash, la fuerza de los scripts e inconcebible, asi que a las personas que estan empezando a usar unix o algun linux, les recomendaria que empezaran con comandos basicos y empezaran a programar. En lo personal recomiendo el libro de ABS-Guide de TLDP.org está en ingles, pero está buenisimo; imaginense ¡mas de 600 hojas sobre bash! ¿para festejar no? y gratis, que es lo mejor; está en formato html, pdf, ps, y otros... chequenlo les puede interesar, seccion guides.

 
5.  Re: Modificar el prompt en Bash (24/11/2005 04:49, #4362)
  Por: Josexato (http://geocities.com/hierbamala83)
Este articulo me fue de mucha ayuda,me sirvio para evitar la linea de comandos extensa que traen algunas distros por defecto, y no se si para todos pero en particular se me hace pesado cuadno tengo direcciones grandes, ademas soy novato en linux y el verme obligado a lidear con el bash me sirvio para entender varias cosas en el SO. gracias

 
Calificacion
***0
Votos: 22
SECCIONES
Artículo
Truco
Noticias
Breve
Enlace
Linuca
Libros
Tira ECOL
Tira Ecol
Modificado: 13/8/2011 23:30:15 | Tiempo Total: 0.005 segs | Kernel: Linux - x86_64 - 2.6.18-xen | Last Boot: 03/12/2010 01:21 CET
Powered By WEB-Bulma   Apache   Mysql   PHP   Gimp