Fips
Anmeldungsdatum: 14. März 2007
Beiträge: 647
Wohnort: Pottendorf
|
Hallo, Wisst Ihr ob das funktioniert, dass der Shell-Prompt in anderer Farbe angezeigt wird als der ausgegebene Text und die Eingabe-Befehle? z.Bsp.: user@host:~$ (das in rot) apt-get install xy (das in weiß) xyxyxyxyxyxyxyxyxy (das in gleicher Farbe wie die Eingabe, also in weiß) Danke im Voraus! MFG Fips
|
comm_a_nder
Anmeldungsdatum: 5. Februar 2006
Beiträge: 2533
Wohnort: Dresden
|
|
e1bart0
Anmeldungsdatum: 12. Mai 2007
Beiträge: 927
Wohnort: München
|
|
Fips
(Themenstarter)
Anmeldungsdatum: 14. März 2007
Beiträge: 647
Wohnort: Pottendorf
|
Danke für eure Antworten! Ich würde gerne das Beispiel 1 aus dem Bash/Prompt Wiki anwenden: Bash/Prompt Nur weiß ich nicht wo ich das, was dort beschrieben ist, in meine Datei ~.bashrc schreiben soll. Kann ich ausser der grünen Farbe auch eine andere Farbe verwenden? Weil die Farben die dort angeführt sind, sind Hintergrundfarben, wenn ich das richtig verstanden habe. Hier ist ein Teil meiner ~.bashrc Ich habe den Code herauskopiert, da wo überall PS1 vorkommt: xterm-color)
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
;;
*)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
;;
esac
# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
;;
*)
;;
esac
Was bedeudet das Schlüßelwort esac eigentlich? Danke nochmals für eure Hilfe! SCHÖNE GRÜßE
|
adun
Anmeldungsdatum: 29. März 2005
Beiträge: 8606
|
esac schließt case. Liegt daran, dass als POSIX erschaffen wurde LSD gerade "in" war. 😉
|
tempuser
Ehemalige
Anmeldungsdatum: 5. Februar 2008
Beiträge: 1350
Wohnort: Hamburg
|
Hallo Fips, der entsprechende Teil deiner bashrc muss dann wie folgt lauten:
#set a fancy prompt (non-color, unless we know we "want" color)
#case "$TERM" in
#xterm-color)
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# ;;
#*)
# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
# ;;
#esac
# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1=[BEISPIEL1]
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
;;
*)
;;
esac Anstelle von [BEISPIEL1] nimmst du den Teil aus Beispiel1 oder eine andere Möglichkeit, die dir gefällt. Viele Grüße, tempuser
|
panne78h
Anmeldungsdatum: 16. Dezember 2007
Beiträge: Zähle...
|
Hi @all, ist zwar kein Antwort-Beitrag, aber weiß vllt. jemand, was das ${debian_chroot:+($debian_chroot)} im PS1 zu bedeuten hat? In Bash/Prompt wird das leider auch nicht erklärt, noch habe ich sonst irgendwo eine Erklärung gefunden bislang... Schicke Grüße, d.panne
|
freanir
Anmeldungsdatum: 9. August 2007
Beiträge: 180
|
Das zeigt an, in welchem chroot man sich befindet. Siehe auch chroot. Das steht aber auch in der .bashrc:
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
|
Fips
(Themenstarter)
Anmeldungsdatum: 14. März 2007
Beiträge: 647
Wohnort: Pottendorf
|
Danke für eure Antworten. Ich werde das mit dem Shell Prompt gleich ausprobieren. Dann hätte ich noch eine Frage. Die Konfigurationsdatei .bashrc, in welcher Scriptsprache ist diese geschrieben? In Shellscripting oder ist das eine Unix interne Konfigurations-Sprache. Und für was steht das PS1? @adun
esac schließt case. Liegt daran, dass als POSIX erschaffen wurde LSD gerade "in" war. 😉
Meinst du damit die Droge LSD? Was ist Posix eigentlich? Schöne Grüße Fips
|
freanir
Anmeldungsdatum: 9. August 2007
Beiträge: 180
|
Fips hat geschrieben:
Die Konfigurationsdatei .bashrc, in welcher Scriptsprache ist diese geschrieben? In Shellscripting oder ist das eine Unix interne Konfigurations-Sprache.
Wie der Name schon sagt in Bash. 😉
Was ist Posix eigentlich?
Das ist das Portable Operating System Interface und beschreibt die Schnittstellen zwischen Applikationen und dem Betriebssystem.
|
Fips
(Themenstarter)
Anmeldungsdatum: 14. März 2007
Beiträge: 647
Wohnort: Pottendorf
|
Danke für eure Antworten, aber eine Frage hätte ich noch. Ich habe in meine .bashrc Datei jetzt das Beispiel Nummer 1 geschrieben. Das hat sofort funktioniert nach einem Neustart. Da ist nur user@host in grüner Farbe geschrieben, ich würde aber gerne eine andere Farbe verwenden. Im Beispiel steht es aber nur mit einer grünen Farbe beschrieben. Wisst Ihr ob ich statt der grünen Farbe einfach eine andere Farbe einfügen kann, die im Wiki beschrieben stehen? Also statt der grünen Farbe: PS1='\[\033[0;32;40m\]\u@\H:\e[0m '[/i] z.Bsp. hellrot: PS1='\[\033[1;31;40m\]\u@\H:\e[0m[/i] ' MFG'
|
freanir
Anmeldungsdatum: 9. August 2007
Beiträge: 180
|
Die Farbecodes und weitere Erklärungen zum Prompt findest du hier: Bash/Prompt BTW: Ein neues Terminal zu öffnen hätte bereits gereicht. Alternativ hätte man auch im öffnen Terminal folgendes eingeben können:
. ~/.bashrc GNU/Linux Systeme muss man nur in den seltensten Fällen neu starten. Meist reicht ein Neustart der Anwendung bzw. des Dienstes.
|
Der_Gestreifte
Anmeldungsdatum: 21. Juni 2007
Beiträge: 1261
Wohnort: Nürnberg
|
BTW: Ein neues Terminal zu öffnen hätte bereits gereicht. Alternativ hätte man auch im öffnen Terminal folgendes eingeben können:
. ~/.bashrc
Und wenn Du noch bequemer rumprobieren willst kannst Du das auch an der Kommandozeile machen, indem Du so lange eine entsprechnde Variable (wie PS1=\[\033[1;33m\]\u@\h:\W$\[\033[0m\]) eintippst, bis Du das gefunden hast, was Du in die .bashrc eintragen willst.
|
freanir
Anmeldungsdatum: 9. August 2007
Beiträge: 180
|
Der Gestreifte hat geschrieben: Und wenn Du noch bequemer rumprobieren willst kannst Du das auch an der Kommandozeile machen, indem Du so lange eine entsprechnde Variable (wie PS1=\[\033[1;33m\]\u@\h:\W$\[\033[0m\]) eintippst, bis Du das gefunden hast, was Du in die .bashrc eintragen willst.
Daran hab ich gar nicht mehr gedacht. Klar ist das komfortabler.
|
Solo0815
Anmeldungsdatum: 7. Juni 2006
Beiträge: 402
Wohnort: KC
|
Auch eine schöne Spielerei:
##########################################
## Hier sind die Shell-Farben definiert ##
##########################################
BLACK='\033[0;30m'
BLUE='\033[0;34m'
GREEN="\033[0;32m"
CYAN='\033[0;36m'
RED='\e[0;31m'
PURPLE='\033[0;35m'
BROWN='\033[0;33m'
LGRAY='\033[0;37m' # Light-Gray
DGRAY='\033[1;30m' # Dark-Gray
LBLUE='\033[1;34m' # Light-Blue
LGREEN='\033[1;32m' # Light-Green
LCYAN='\033[1;36m' # Light-Cyan
LRED='\033[1;31m' # Light-Red
LPURPLE='\033[1;35m' # Light-Purple
YELLOW='\033[1;33m'
WHITE='\033[1;37m'
NC='\033[0m' # No Color
## wenn root, dann USER in rot schreiben
PCNAME="${YELLOW}\h${LGRAY}" # Host gelb, naechstes Zeichen grau
WDIR="${LRED}\w${NC}" # Arbeitsverzeichnis hellrot, naechstes Zeichen ohne Farbe
if [ $USER == 'root' ]; then
PROMPTUSER="${RED}\u${LGRAY}" # User "root" in Rot
ENDPROMPT="# " # Am Ende "# "
else
PROMPTUSER="${YELLOW}\u${LGRAY}" # Normaler User in gelb
ENDPROMPT="$ " # Am Ende "$ "
fi
PS1="${debian_chroot:+($debian_chroot)}${PROMPTUSER}@${PCNAME}:${WDIR}${ENDPROMPT}"
|