PROMPT_COMMAND='procmd' export PROMPT_COMMAND function procmd() { LaEr=$? stunde=$(date +%H) users=$(w -h|wc -l) warnus=$(whoami) freemem=$(free|grep Mem|awk '{print $4}') cpuprozs=$(acpu s0|cut -f2 -d'='|cut -f1 -d'%'|sed 's/ //g') istline=$(tput lines) istcols=$(tput cols) defcolor=$(echo "\033[0m") # Farb Definationen----------------------------------------------------------------------------------------------- normcolor=$(echo "\033[0;30;42m") #gruen minorcolor=$(echo "\033[0;30;43m") #gelb majorcolor=$(echo "\033[0;30;41m") #rot descolor=$(echo "\033[1;30;47m") #weiss # Aktivierung und Defination ------------------------------------------------------------------------------------- seite=links;feinjust="+0" checkmem=on;memgruen=120000;memgelb=100000 checklasterror=on loginusers=2 checkuseranzahl=on checkuser=on;warnuser=eUser checkcpu=on;cpugruen=5;cpugelb=10 checkdatum=on;datgruenvon=9;datgruenbis=17;dategelb1von=8;datevongelb1bis=9;datevongelb2von=17;datevongelb2bis=18 checkhostname=on checkwhoami=on checkpwd=on # Ende der Aktivierung und Defination --------------------------------------------------------------------------- if [ "$checklasterror" == "on" ] then if [ "$LaEr" == "0" ] then last=`echo -e "${normcolor}[LastError=$LaEr]${defcolor}"` else last=`echo -e "${majorcolor}[LastError=$LaEr]${defcolor}"` fi bllast=`echo "[LastError=$LaEr]"` else last="" bllast="" fi if [ "$checkuseranzahl" == "on" ] then if [ "$users" -gt "$loginusers" ] then useranz=`echo -e "${majorcolor}[User=$users]${defcolor}"` else useranz=`echo -e "${normcolor}[User=$users]${defcolor}"` fi bluseranz=`echo "[User=$users]"` else bluseranz="" useranz="" fi if [ "$checkuser" == "on" ] then if [ "${warus:0:1}" == "${warnuser:0:1}" ] then warus=`echo -e "${majorcolor}[$warnus]${defcolor}"` else warus=`echo -e "${normcolor}[$warnus]${defcolor}"` fi blwarus=`echo "$warnus"` else blwarus="" warus="" fi if [ "$checkmem" == "on" ] then if [ "$freemem" -gt "$memgruen" ] then fmem=`echo -e "${normcolor}[free=$freemem]${defcolor}"` else if [ "$freemem" -gt "$memgelb" ] then fmem=`echo -e "${minorcolor}[free=$freemem]${defcolor}"` else fmem=`echo -e "${majorcolor}[free=$freemem]${defcolor}"` fi fi blfmem=`echo "[free=$freemem]"` else blfmem="" fmem="" fi if [ "$checkcpu" == "on" ] then cpuproz=$(echo $cpuprozs|cut -f1 -d",") if $(awk 'BEGIN {return_code=('$cpuproz' >= '$cpugelb') ? 0 : 1; exit} END {exit return_code}') then cpupz=`echo -e "${majorcolor}[CPU=$cpuprozs%]${defcolor}"` fi if $(awk 'BEGIN {return_code=('$cpuproz' < '$cpugelb') ? 0 : 1; exit} END {exit return_code}')&& $(awk 'BEGIN {return_code=('$cpuproz' >= '$cpugruen') ? 0 : 1; exit} END {exit return_code}') then cpupz=`echo -e "${minorcolor}[CPU=$cpuprozs%]${defcolor}"` fi if $(awk 'BEGIN {return_code=('$cpuproz' < '$cpugruen') ? 0 : 1; exit} END {exit return_code}') then cpupz=`echo -e "${normcolor}[CPU=$cpuprozs%]${defcolor}"` fi blcpupz=`echo "[CPU=${cpuprozs}%]"` else blcpupz="" cpupz="" fi if [ "$checkdatum" == "on" ] then if [ "$stunde" -ge "$dategelb1von" ]&&[ "$stunde" -lt "$datevongelb1bis" ]||[ "$stunde" -ge "$datevongelb2von" ]&&[ "$stunde" -lt "$datevongelb2bis" ] then datum=$(echo -e "${minorcolor}[`TZ='Europe/Vienna' date`]${defcolor}") fi if [ "$stunde" -ge "$datgruenvon" ]&&[ "$stunde" -lt "$datgruenbis" ] then datum=$(echo -e "${normcolor}[`TZ='Europe/Vienna' date`]${defcolor}") fi if [ "$stunde" -lt "$datgruenvon" ]||[ "$stunde" -gt "$datgruenbis" ] then datum=$(echo -e "${majorcolor}[`TZ='Europe/Vienna' date`]${defcolor}") fi bldatum=`echo "[$(TZ='Europe/Vienna' date)]"` else bldatum="" datum="" fi if [ "$checkhostname" == "on" ] then name=$(echo -e "\033[7;36m[$(hostname)]${defcolor}") blname=`echo "[$(hostname)]"` else name="" blname="" fi if [ "$checkwhoami" == "on" ] then wer=$(echo -e "\033[7;36m[$(whoami)]${defcolor}") blwer=`echo "[$(whoami)]"` else blwer="" wer="" fi if [ "$checkpwd" == "on" ] then pfad=$(echo -e "\033[7;36m[$(pwd)]${defcolor}") blpfad=`echo "[$(pwd)]"` else blpfad="" pfad="" fi if [ "$seite" == "links" ] then llae=$(echo "${bldatum}${blname}${blfmem}${bluseranz}${blcpupz}${bllast}${blwer}${blpfad}"|wc -c) ((einr=$istcols-$llae$feinjust)) else einr=0 fi tput cup 0 $einr;echo -e "${newsrc}${datum}${name}${fmem}${useranz}${cpupz}${last}${wer}${pfad}";tput cup $istline 0 if [ "${1:0:2}" == "-h" ]||[ "${1:0:2}" == "-?" ] then echo -e "${normcolor}Reinis ${FUNCNAME[0]} V1.0${defcolor}" echo -e "Zeigt ${descolor}[Datum]${defcolor}, ${descolor}[Hostname]${defcolor}, ${descolor}[freien-Speicher]${defcolor}, ${descolor}[CPU-Last]${defcolor}, ${descolor}[last-ErrorLevel]${defcolor}, ${descolor}[User@Pfad]${defcolor}, als Kopfzeile beim Terminal an." echo -e "Braucht ${descolor}PROMPT_COMMAND='${FUNCNAME[0]}'${defcolor}" echo -e "und ${descolor}export PROMPT_COMMAND${defcolor}" echo "" echo -e "Folgende Schalter sind im Functions-Code enthalten:" echo "" echo -e "${descolor}llae=${defcolor}Legt die Position fest, links oder rechts." echo -e "${descolor}feinjust=${defcolor}Feinjustierung fuer die Position." echo "" echo -e "${descolor}loginusers=${defcolor}Legt die Anzahl der aktiven User fest ab wieviel ${majorcolor}Rot${defcolor} angezeigt wird." echo "" echo -e "${descolor}checkdatum=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}, wobei folgende Werte gesetzt werden koennen" echo "Schaltet die Anzeige des Datums ein oder aus." echo -e "${descolor}datgruenvon=${normcolor}Stunde${defcolor} ab wann Uhrzeit in Gruen angezeigt werden soll." echo -e "${descolor}datgruenbis=${normcolor}Stunde${defcolor} bis wann Uhrzeit in Gruen angezeigt werden soll." echo -e "${descolor}datgelbvon=${minorcolor}Stunde${defcolor} ab wann Uhrzeit in Gelb angezeigt werden soll." echo -e "${descolor}datgelbbis=${minorcolor}Stunde${defcolor} bis wann Uhrzeit in Gelb angezeigt werden soll." echo -e "${descolor}datgelb2von=${minorcolor}Stunde${defcolor} ab wann Uhrzeit in Gelb angezeigt werden soll." echo -e "${descolor}datgelb2bis=${minorcolor}Stunde${defcolor} bis wann Uhrzeit in Gelb angezeigt werden soll." echo "Wobei Stunde ein Wert von 0..24 ist." echo -e "Zeiten ausserhalb dieser Begrentungen werden in ${majorcolor}Rot${defcolor} angezeigt." echo "" echo -e "${descolor}checkhostname=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}" echo "Schaltet die Anzeige des Hostnamens ein oder aus." echo "" echo -e "${descolor}checkmem=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}" echo "Schaltet die Anzeige des freien Speichers an oder aus." echo -e "${descolor}memgruen=${normcolor}Wert${defcolor} bis wohin abschwellend in Gruen angezeigt werden soll." echo -e "${descolor}memgruen=${minorcolor}Wert${defcolor} bis wohin abschwellend in Gelb angezeigt werden soll." echo "Wobei Wert in Bytes angegeben werden muss." echo -e "Werte unterhalb dieser Begrentungen werden in ${majorcolor}Rot${defcolor} angezeigt." echo "" echo -e "${descolor}checkuser=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}" echo -e "Schaltet die Anzeige der aktiven Useranzahl an, wobei weitere aktive User ${majorcolor}Rot${defcolor} angezeigt werden." echo "" echo -e "${descolor}checkcpu=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}" echo "Schaltet die Anzeige der CPU-Auslastung ein oder aus." echo -e "${descolor}cpugruen=${normcolor}Wert${defcolor} bis wohin aufsteigend in Gruen angezeigt werden soll." echo -e "${descolor}cpugelb=${minorcolor}Wert${defcolor} bis wohin aufsteigend in Gelb angezeigt werden soll." echo "" echo -e "${descolor}checklasterror=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}" echo "Schaltet die Anzeige des Error-Code des letzten Befehls ein oder aus." echo -e "Error-Code welche nicht 0 entsprechen werden in ${majorcolor}Rot${defcolor} angezeigt." echo "" echo -e "${descolor}checkwhoami=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}" echo "Schaltet die Anzeige des Usernamen ein oder aus." echo "" echo -e "${descolor}checkpwd=${normcolor}on${defcolor} oder ${majorcolor}off${defcolor}" echo "Schaltet die Anzeige der Pfadanzeige ein oder aus." echo "" echo "Im Sektor Farb Defination kann man folgende Farben einstellen." echo -e "${descolor}normcolor=${normcolor}Farbe${defcolor} die Farbe fuer normale Information." echo -e "${descolor}minorcolor=${minorcolor}Farbe${defcolor} die Farbe erste Warnung." echo -e "${descolor}majorcolor=${majorcolor}Farbe${defcolor} die Farbe hohe Warnung." echo -e "${descolor}descolor=${descolor}Farbe${defcolor} die Farbe Hinweise." return fi }