Ich habe eine benutzerdefinierte Bash-Eingabeaufforderung, die meinen Benutzernamen, Hostnamen und das aktuelle Arbeitsverzeichnis färbt. Die Farben werden korrekt angezeigt. Wenn ich jedoch eine Befehlszeile eingebe, die umbrochen werden muss, startet das Terminal keine neue Zeile und schreibt über den Anfang meines Befehls. Dies tritt bei RHEL 4 und Debian auf.
Diese Frage beschreibt ein ähnliches Problem unter OS X; Es scheint, dass dies ein Problem mit falsch terminierten Steuersequenzen ist. Ich kann jedoch nicht erkennen, was dies verursachen könnte, da ich überall $ (tput) -Codes verwende, anstatt meine Codes von Hand zu erstellen. Snippet unten - kann jemand raten, was ich falsch mache?
# Control codes
COL_RST=$(tput sgr0) # Remove all colour formatting
COL_BRIGHT=$(tput bold) # Emphasise
# Foreground
COL_G=$(tput setaf 2) # Green
COL_Y=$(tput setaf 3) # Yello
COL_B=$(tput setaf 4) # Blue
COL_USR=${COL_Y}${COL_BRIGHT}
COL_PWD=${COL_B}${COL_BRIGHT}
COL_HST=${COL_G}${COL_BRIGHT}
# Set prompt
PROMPT="${COL_USR}\u${COL_RST}@${COL_HST}\h${COL_RST}:${COL_PWD}\W${COL_RST}"
# Put it all together....
PS1="[$PROMPT]\$ "
export PS1