Bash Prompt - Prompt dinamico con color según la carga del sistema

9 - Prompt dinamico con color según la carga del sistema

Tutorial creado por Giles Orr. Extraido de: http://www.insflug.org/COMOs/Bash-Prompt-Como/Bash-Prompt-Como.html
19 de Diciembre de 2006

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.

1 opinión

GUIA LITERARIA

NO TIENE CASI MUCHA INFORMACION

Tutoriales relacionados con 'Bash Prompt'

Se comenta la creación y el manejo de prompts de terminales en modo texto y... Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
Esta guía no es un documento general de seguridad. Esta guía está específicamente orientada a... Más »
Esta guía rápida explica cómo instalar y configurar Iptables con soporte H323. Se basa en... Más »
Esta es la primerísima edición del Linux en Castellano COMO. La audiencia a la que... Más »

Autor y licencia de 'Bash Prompt'

Este documento es copyright ©1998-1999 de Giles Orr. Se anima a su distribución, aunque no debería modificarse este documento
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.