Problem mit dem Prompt "command not found"

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
theomega
Userprojekt
Userprojekt
Posts: 704
Joined: 2003-01-27 14:36

Problem mit dem Prompt "command not found"

Post by theomega » 2006-07-19 00:59

Hallo Leute,
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.
Wer hat mir nen Tipp?

Danke
TO

theomega
Userprojekt
Userprojekt
Posts: 704
Joined: 2003-01-27 14:36

Re: Problem mit dem Prompt "command not found"

Post by theomega » 2006-08-04 21:31

Hy,
hat keiner eine Idee. Oder weiß zumindest jemand wer diesen tollen Prompt damals hier im Forum gepostet hat?

[dominik@gentoo][21:30:21][1.71]
(/home/dominik/) $