Añadir a favoritos (CTRL-D)
Comprar | Carrito | Buscarcosaslibres.com
cd /
 ¿ Que es ?   Entretenimiento   Nosotros   Catalogo de Productos Linux 
 [#Linux|Software|Hardware]   [Kiosco|Links]   [Acerca|Buscar]   [Colombia|Hosting|Internacional] 

Definiciones
Linux
Código_Abierto
Licencia
Preparativos
Instalar Linux
Quitar Windows
Linux/Win
Redes
Archivos
Escritorio
Multimedia
Ofimática
Juegos
Programación
Servidores
Científicos
Humor
Distribuciones
Red_Hat
Mandrake
Debian
Slackware
Manuales
Red_Hat
Mandrake
Debian
Slackware
HOWTOs
Links
Links
Red_Hat
Mandrake
Kernel
GNU
OpenOffice
[ Preguntas frecuentes ] [ Visite nuestra Promoción vigente ]

Venta de CDs Linux
Visite Nuestro Catalogo

comprar linux


Página siguiente Página anterior Índice general


9. Prompt dinámico con color según la carga del sistema

9.1 Un ejemplo de «prueba de concepto»

Esto es una «prueba de concepto» más que un prompt bonito: cambio de colores en el prompt dinámicamente. En este ejemplo, el color del nombre del host cambia dependiendo de la carga (a modo de aviso).


  #!/bin/bash
  #   "hostloadcolour" - 17 Octubre 98, by Giles
  #
  #   La idea aqui es cambiar el color del nombre del host en el prompt
  #   dependiendo de un valor de carga que sirve de umbral.

  # THRESHOLD_LOAD es el valor de la carga en un minuto
  # (multiplicado por 100) al cual se desea que el prompt
  # cambie de COLOUR_LOW a COLOUR_HIGH

  THRESHOLD_LOAD=200
  COLOUR_LOW='1;34'
            # light blue
  COLOUR_HIGH='1;31'
             # light red

  function prompt_command {
  ONE=$(uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\)/\1/" -e "s/ //g")
  # Aparentemente "scale" en bc no se aplica a las multiplicaciones
  # pero si a las divisiones
  ONEHUNDRED=$(echo -e "scale=0 \n $ONE/0.01 \nquit \n" | bc)
  if [ $ONEHUNDRED -gt $THRESHOLD_LOAD ]
  then
      HOST_COLOUR=$COLOUR_HIGH
          # Light Red
  else
      HOST_COLOUR=$COLOUR_LOW
          # Light Blue
  fi
  }

  function hostloadcolour {

  PROMPT_COMMAND=prompt_command
  PS1="[$(date +%H%M)][\u@\[\033[\$(echo -n \$HOST_COLOUR)m\]\h\[\033[0;37m\]:\w]$ "
  }

Mediante su editor favorito, salve esto en un fichero llamado hostloadcolour. Si tiene instalado el paquete Bash Prompt, funcionará como un tema. Si no lo tiene, escriba source hostloadcolour seguido de hostloadcolour. De cualquiera de las dos formas, prompt_commad se convierte en una función del entorno. Si examina el código, notará que los colores ($COLOUR_HIGH y $COLOUR_LOW) se ponen mediante un código parcial de color, es decir, 1;34 en lugar de \[\033[1;34m\], cosa que hubiera preferido, pero no he sido capaz de que funcione con el código completo. Le agradecería que me avisara si lo consigue.


Página siguiente Página anterior Índice general

Atención: Visite nuestro listado de productos de computadores, Linux y software libre aqui...

Inmediatos
Como Comprar
Recomiéndenos
Lista de Correo
Nosotros

Políticas
HOWTOS
CDs Linux
Diseño Web

Hosting
Noticias
Linux

Todos los derechos reservados 2002-2004 cosaslibres.com es marca registrada.