Die Bash "einfärben"

s24!

Registered User
Hi,

ich habe heute erstmals einen Server (Debian Squeeze) übers Rescuesystem mit debootstrap aufgesetzt - also ohne Image vom Provider oder per KVM (via ISO-Image). Das war an sich auch - bis darauf, dass er erst wegen eines fehlenden mdadm-Pakets nicht vom RAID booten wollte, was ich wiederum nicht allzu schnell rausgekriegt habe :D - kein Problem. Allerdings habe ich jetzt ein "kosmetisches" Problem: Meine Shell ist nicht (wie ich es von anderen Debian-Setups - egal wie sie aufgesetzt wurden - kenne) bunt.

Ich habe entsprechende Screenshots angehängt; h15 sieht gut aus, auf h19 fehlt die Farbe.

Vor dem heutigen Tag habe ich mich nie damit auseinandergesetzt (war ja schon immer bunt bei meinen Servern) - konfiguriert wird das Ganze wohl in der .bashrc, aber darum geht's mir gar nicht. Ich verstehe schlichtweg folgendes Phänomen nicht: Die /root/.bashrc, /etc/skel/, /root/.profile und /etc/profile sowie die /etc/bash.bashrc sind auf beiden Servern exakt gleich - und andere Dateien / Verzeichnisse konnte ich nicht mit der Farbgebung der Shell in Verbindung bringen.

Was habe ich übersehen? Das manuelle Setzen der Farben funktioniert übrigens; ich möchte halt nur gerne das eigentliche Problem verstehen bzw. wissen, welche Datei auf dem h19 fehlt oder falsch ist.


Viele Grüße
Tim
 

Attachments

  • bunt1.png
    bunt1.png
    2.1 KB · Views: 124
  • bunt2.png
    bunt2.png
    2.1 KB · Views: 129
Last edited by a moderator:
Shells verhalten sich gerne mal bei unterschiedlicher TERM-Variable unterschiedlich. Ich bevorzuge TERM=linux.
 
[EDIT MAL OBEN]: Sorry hatte gepostet bevor ich gelesen hatte, dass es nur drum geht das Problem zu erklären und nicht darum die Faben zu setzen, somit kann man unten meinen Beitrag getrost vergessen.
[/EDIT MAL OBEN]

Ich hab mir die Settings von Hetzner gesichert und nutze die bei meinen from scratch Installationen


Code:
root@host ~ # cat .bash_profile 

#############################################################################

export PS1='\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
umask 022

#############################################################################

eval "`dircolors`"

#############################################################################

alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias ..='cd ..'
alias ...='cd ../..'
alias s='ssh -l root'

#############################################################################

export EDITOR="nano"

export HISTFILESIZE=99999999
export HISTSIZE=99999999
export HISTCONTROL="ignoreboth"

export LS_OPTIONS='--color=auto -h'

#############################################################################

_____________________________________________________________________________________________________________
Code:
root@host ~ # cat .bashrc 
# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
alias ls="ls --color=auto"
alias ll='ls -lAh'
alias l='ls -lFah'
export EDITOR=nano
 
Last edited by a moderator:
das kannst Du in der /root/.bashrc (oder im Benutzerverzeichnis) alles festlegen.

Code:
if [ "$PS1" ]; then
 
    PS1='\u@\h:\w\$ '
    ROTH="\[\033[1;31m\]"
    ROT="\[\033[1;31m\]"
    GRUEN="\[\033[0;32m\]"
    BLAU="\[\033[1;34m\]"
    YELLOW="\[\033[0;33m\]"
    NOCOLOR="\[\033[0m\]"
    [ "$UID" == "0" ] && USRCLR="$ROT\\u$NOCOLOR" || USRCLR="\\u"
    
    PS1="${ROTH}OVH: $BLAU\$(date +%H:%M:%S)h$ROT@$BLAU\h ${BLAU}[$GRUEN$USRCLR$ROT@$ROTH${debian_chroot:+($debian_chroot)}$GRUEN\w${BLAU}]\n$NOCOLOR#"
 
    shopt -s checkwinsize
 
        # You may uncomment the following lines if you want `ls' to be colorized:
        export LS_OPTIONS='--color=auto'
        eval "`dircolors`"
        
		
    if [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
    fi
 
    if [ -f /etc/bash.aliases ]; then
        . /etc/bash.aliases
    fi
fi

Hier kannst Du auch noch für Befehle einen Alias festlegen

Code:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

alias a2res='service apache2 restart'	 #Apache neustarten
alias a2rel='service apache2 reload'	# Apache Config neu laden

gruß
Steffen
 
Hi,

noch mal: Es geht mir nicht um die Einstellung an sich. Mit einem
Code:
export PS1='\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
sieht es natürlich so aus, wie auf den anderen Servern.

Das erklärt aber noch nicht, warum es auf zwei Servern mit (eigentlich) identischer Konfiguration zu unterschiedlichen Erscheinungsbildern kommt. Wenn ich nach '\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\] ganz /etc und /root "durchgreppe", finde ich auch rein gar nichts - wo hat der "richtige" Server das denn bitte gespeichert? :(
 
Back
Top