load Prompt
Displaying the current load in the prompt in a colour that varies with the actual load. I couldn't get the colour changing to work within the prompt so an external function is used. Colour changing is thus handled a little differently than usual.
It should be easy to change the load colour sequence to suit your own tastes.
Code:
#!/bin/bash function load_out() { echo -n "$(uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\).*/\1/" -e "s/ //g")" } function load_color() { gray=0 red=1 green=2 yellow=3 blue=4 magenta=5 cyan=6 white=7 # Colour progression is important ... # bold gray -> bold green -> bold yellow -> bold red -> # black on red -> bold white on red # # Then we have to choose the values at which the colours switch, with # anything past yellow being pretty important. tmp=$(echo $(load_out)*100 | bc) let load100=${tmp%.*} if [ ${load100} -lt 70 ] then tput bold ; tput setaf ${gray} elif [ ${load100} -ge 70 ] && [ ${load100} -lt 120 ] then tput bold ; tput setaf ${green} elif [ ${load100} -ge 120 ] && [ ${load100} -lt 200 ] then tput bold ; tput setaf ${yellow} elif [ ${load100} -ge 200 ] && [ ${load100} -lt 300 ] then tput bold ; tput setaf ${red} elif [ ${load100} -ge 300 ] && [ ${load100} -lt 500 ] then tput setaf ${gray} ; tput setab ${red} else tput bold ; tput setaf ${white} ; tput setab ${red} fi } function load { CYAN="\[$(tput bold ; tput setaf 6)\]" NOCOLOUR="\[$(tput sgr0)\]" PS1="[\[\$(load_color)\]\$(load_out)${NOCOLOUR}][\D{%H%M}]\ \u:${CYAN}\w${NOCOLOUR}\$> " }