Benutzer Diskussion:Musix

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen

Augenkrebserregung im Prompt

2011-10-27 23:05:41     Musix   yeti: du nutzt doch xterm
2011-10-27 23:05:47     Musix   wie kann ich denn das hier
2011-10-27 23:06:10     Musix   root@debian-system:/$
2011-10-27 23:06:20     Musix   farbig machen, für mehr übersicht in der konsole

...also ob das mehr Übersicht erzeugt wage ich ja sehr zu bezweifeln. Mein Prompt ist jedenfalls absichtlich unbuntig:

(yeti@xs3:4)/media/archive0/wrk$ echo $PS1
\[\e]0;(\u@\h:\l)\w\a\]${debian_chroot:+($debian_chroot)}(\u@\h:\l)\w\$
(yeti@xs3:4)/media/archive0/wrk$ _

Aber egal...

In 'man bash' gibt es einen Absatz 'PROMPTING'. Für Farben steht da prinzipiell Nichts drin aber da man Farben im Xterm per ESC-Sequenzen umklimpert und die Shell die sichtbare Länge des Prompts kennen muß, muß man solche direkten Kommandos an Xterm in "\[" und "\]" klammern, damit dann der Zeileneditor der Shell nicht völlig amokt...

Schau mal in /etc/skel/.bashrc (hier Zitat aus der squeeze-schen Version)... dort steht unter (eher "zwischen") Anderem:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

Hier wird 2mal von der Information her gesehen derselbe Prompt gebaut, einmal mit und einmal ohne Farben.

Die in "\[" und "\]" geklammerten Bereiche die ESC-Sequenzen (ESC = "\033") sieht man deutlich...

Bleibt die Frage wo man die Steuersequenzen für die jeweilige Farbe herbekommt...

'man xterm' meint dazu:

SEE ALSO
       resize(1), luit(1), X(7), pty(4), tty(4)
       Xterm Control Sequences (this is the file ctlseqs.ms).

       http://invisible-island.net/xterm/xterm.html
       http://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Letzterer Link ist recht erschöpfend vom Umfang her, leider auch vom Stil.

Frag mal andere nach ner netteren Tabelle zu den Steuersequenzen...

Yeti 20:25, 28. Okt. 2011 (CEST)