habe ein blödes Problem:
Ich habe hier aus dem Forum ein Prompt-Script im Einsatz (ich weiß nichtmehr von wem und finde es auch nichtmehr, evtl war der Post im Offtopic). Der Prompt ist genau richtig für mich, zeigt Benutzer (rot für root, alle anderen in grün), Host, Uhrzeit und Load (verschiedene Farbastufungen) an. Wie gesagt, der Code stammt nicht von mir (ich habe es nur leicht meinen Bedürfnissen angepasst). Das Script ist unter anderem auf meinen Servern im Einsatz. Das Problem ist jetzt: Sobald ein Script auf dem Server die titelleiste des Terminals verändert (z.B. emerge von Gentoo oder der MidnightCommander) und sich danach wieder beendet steht im Terminal-Titel immer "sh: set_prompt: command not found". Woran liegt das, kann mir evtl jemand ne Lösung dafür sagen, denn ehrlich gesagt versteh ich die genaue Vorgehensweise des Scripts nicht ganz (ich kann aber sehr wohl shellprogrammieren).
Der Code ist:
Code: Select all
function set_prompt {
local BLACK="[\033[0;30m]"
local BLUE="[\033[0;34m]"
local GREEN="[\033[0;32m]"
local CYAN="[\033[0;36m]"
local RED="[\033[0;31m]"
local PURPLE="[\033[0;35m]"
local BROWN="[\033[0;33m]"
local LIGHT_GRAY="[\033[0;37m]"
local DARK_GRAY="[\033[1;30m]"
local LIGHT_BLUE="[\033[1;34m]"
local LIGHT_GREEN="[\033[1;32m]"
local LIGHT_CYAN="[\033[1;36m]"
local LIGHT_RED="[\033[1;31m]"
local LIGHT_PURPLE="[\033[1;35m]"
local YELLOW="[\033[1;33m]"
local WHITE="[\033[1;37m]"
local NO_COLOUR="[\033[0m]"
if [ "$HOSTNAME" = "localhost" ]; then
local HOST_COLOUR=$GREEN
else
local HOST_COLOUR=$LIGHT_RED
fi
local load=$(uptime | sed -e 's/^.*: ([0-9.]+), ([0-9.]+), ([0-9.]+).*$/1/')
local load_int=$(echo $load | sed -e 's/^([0-9]+).*/1/')
if [ $load_int -lt 2 ]; then
loadc="$LIGHT_GREEN$load$NO_COLOUR"
elif [ $load_int -lt 4 ]; then
loadc="$YELLOW$load$NO_COLOUR"
else
loadc="$LIGHT_RED$load$NO_COLOUR"
fi
#if [ `mount | grep 'noexec' | wc -l` -gt 0 ]; then
#mnt_tmp="${WHITE}[tmp:${LIGHT_GREEN}noexec${WHITE}]${NO_COLOUR}"
#else
# mnt_tmp="${WHITE}[tmp:${LIGHT_RED}exec${WHITE}]${NO_COLOUR}"
#fi
if [ $UID -eq 0 ]; then
local user="$WHITE[$LIGHT_REDu$WHITE@$HOST_COLOURh$WHITE]"
else
local user="$WHITE[$LIGHT_GREENu$WHITE@$HOST_COLOURh$WHITE]"
fi
PS1="${user}
$WHITE[$YELLOW`date '+%X'`$WHITE]$NO_COLOUR
$WHITE[$NO_COLOUR$loadc$WHITE]$NO_COLOURn
$WHITE($YELLOWw$WHITE) \$ $NO_COLOUR"
}
export PROMPT_COMMAND=set_prompt
#Hier folgen noch ein Paar Aliases meinerseits, nichts was einen Einfluss hat.
Danke
TO