Zentrale .bashrc (1)

  • Urspruenglicher Autor: Dirk Deimeke
  • Urspruengliches Datum: 18.03.2011

Im Buero habe ich auf reichlich Maschinen einen Useraccount und da mein Homeverzeichnis vom NFS-Server kommt, habe ich eine zentrale .bashrc, die meine Einstellungen vornimmt. Diese .bashrc moechte ich Euch in uebersichtlichen Haeppchen praesentieren.

Hier im ersten Teil geht es nur darum, Maschinenspezifische Anpassungen vorzunehmen. Wir setzen Solaris und Linux ein, daher muss dazwischen unterschieden werden. Die anderen Systeme habe ich nur der Vollstaendigkeit halber mit aufgenommen. Mein Unix-Homeverzeichnis wird auch via Samba exportiert, daher kann ich es auch unter Cygwin nutzen, wo ich einen symbolischen Link auf die .bashrc gesetzt habe.

function set_variables () {
        case "`uname`" in
                "Linux")
                        EDITOR=vim
                        ;;
                "HP-UX")
                        EDITOR=vi
                        case "`uname -r`" in
                                "B.11.23")
                                        # HP-UX 11.23
                                        ;;
                                "B.11.31")
                                        # HP-UX 11.31
                                        ;;
                        esac
                        ;;
                "SunOS")
                        EDITOR=vi
                        case "`uname -r`" in
                                "5.8")
                                        # Solaris 8
                                        ;;
                                "5.10")
                                        # Solaris 10
                                        ;;
                        esac
                        ;;
                "CYGWIN_NT-5.1")
                        EDITOR=vim
                        ;;
        esac
        umask 002
        export EDITOR
        export PAGER=less
        export LESS="-M -I -n"
        export http_proxy="http://a.b.c:8080/"
        export https_proxy="http://a.b.c:8080/"
        export ftp_proxy="http://a.b.c:8080/"
        export TERM=xterm
        export HISTSIZE=1024
        export HISTFILESIZE=1024
        export HISTCONTROL=erasedups
}
 
set_variables

In dem Geruest fehlen einige Teile, die ich spaeter noch erlaeutern werde. Wichtig ist nur, das Ganze zu verstehen. Mittels uname finde ich das Betriebssystem heraus, auf dem das Skript laeuft und kann in dem case-Zweig entsprechende Variablen für das Betriebssystem setzen. uname -r hilft noch weiter die Versionen einzugrenzen, das brauche ich separat noch bei shared Libraries, davon aber spaeter mehr.

Zum Schluss setze ich dann noch Variablen, die für alle Systeme gelten. umask setzt die Maske nach der neue Dateien und Verzeichnisse angelegt werden sollen. PAGER setzt das „Dateianzeigeprogramm“, die Variable LESS enthaelt die Standard-Optionen fuer less. TERM enthaelt das verwendete Terminal (bzw. das, was meiner Wahl am nächsten kommt). Die Proxies werden gesetzt und ein paar Variablen, die die History komfortabler machen.

Zurück zur Uebersicht