Re: [Debian]: farbiger Prompt
On Sat, May 09, 1998 at 01:05:02PM +0200, Frank Berger wrote:
> Hallo !
>
> Hat von Euch schon einmal jemand einen farbigen Prompt erstellt ?
> So ala
> export PS1='\[blau]\u@\h:\w\$\[weiß]'
> Ich habe in den Man-pages nix gefunden...
> Und am besten sollte es sowohl unter bash als auch unter xterm gehen.
Anstatt escape codes sollte man besser die Terminalfunktionen abfragen,
dann gibt es auch keine bösen Überraschungen falls mal Farbe nicht
unterstützt wird:
set_prompt ()
{
local SAVE_CRS=`tput sc 2> /dev/null
local RESET_CRS=`tput rc 2> /dev/null
local CLOCKPOS=`tput cup 0 90 2> /dev/null
local FOREG=`tput setf 6 2> /dev/null
local ALT_FOREG=`tput setf 3 2> /dev/null
local BACKG=`tput setb 0 2> /dev/null
local NORMAL=`tput sgr0 2> /dev/null
local BOLD=`tput bold 2> /dev/null
PS1="\[${NORMAL}${SAVE_CRS}${CLOCKPOS}${FOREG}${BACKG}${BOLD} \@ ${RESET_CRS}${BOLD}${ALT_FOREG}\]\u\[${NORMAL}\]@\h:\w\$ "
}
set_prompt
Die Argumente von setf und setb sind natürlich die Farben. Die \[ \] machen
Bash schlau, welche Zeichen wirklich gedruckt werden, sonst kommt Bash mit
dem Zeilenumbruch völlig durcheinander.
Der Prompt gibt übrigens die Uhrzeit türkis in der rechten oberen Ecke
wieder (auf einem 100x37 Bildschirm zumindest. Sonst CLOCKPOS entsprechend
änder, 90 auf 70 runtersetzen), und gibt den usernamen gelb aus.
Es gibt natürlich noch viel trickreichere Sachen, man kann Perl Skripte
aufrufen, die den Prompt dynamisch verändern :)
Marcus
--
"Rhubarb is no Egyptian god." Debian GNU/Linux finger brinkmd@
Marcus Brinkmann http://www.debian.org master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de for public PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ PGP Key ID 36E7CD09
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <your_email_address>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder: 449
Reply to: