9. Meine Arbeitsumgebung
========================
Punktfiles
Jedes anständige Programm benutzt Punktfiles oder Punktdirectories, um
Nutzereinstellungen zu erfahren bzw. abzulegen. Wenn keine nutzerspezifischen
Einstellung vorhanden sind, wird auf Standards zurückgegriffen. Die Standards
sind entweder in Files gespeichert oder in das Programm eincompiliert.
Wenn die Standards in einem File gespeichert sind, können diese durch den
Systemadministrator verändert werden.
Typische Positionen für derartige Standardfiles sind:
/etc/
/etc/default/
/etc/profile.d/
/usr/share/
/usr/lib/
/lib/
|
| next | back | SS 2010 - 1 |
Programme und ihre Punktfiles - eine Übersicht
.Xauthority - X-Server - entfernter Zugriff
.Xdefaults - X-Applikationen
.Xmodmap - X-Server - Tastatur
.Xresources - X-Applikationen
.acrobat - Acrobat-Reader
.adobe - Adobe
.bash_history - Bash - Shell - History-File
.bashrc - Bash - Shell- Konfigurationsfile
.cshrc - C-Shell - Konfigurationsfile
.elm - Elm - Mail-Reader - Mail-Front-End
.emacs - EMACS
.emacs.d - EMACS
.exrc - ex
.exrv - ex
.forward - Mail-SMTP-Server
.gnome - GNOME
.gnu-emacs - EMACS
.gnupg - PGP
.gv - GV - Ghostview
.history - History von Shells
.hotjava - java
.java - java
.kde - KDE
.kermrc - Kermit
.kismet - Kismet
|
| next | back | SS 2010 - 2 |
.mailcap - MAIL-Front-End
.mc - MC
.mcop -
.mcoprc -
.mime.types - Mime - Mail-Front-End
.mozilla - Mozilla
.mplayer -
.muttrc - Mutt - Mail-Front-End
.netscape - Netscape
.netscape6 - Netscape
.newsrc-news - News-Reader
.pinerc - Pine - Mail-Reader - Mail-Front-End
.profile - Sh - Shell - Konfigurationsfile
.public_html - Apache
.qt - Qt - Grafikbibliothek
.rnd - Zufallszahlen
.ssh - Ssh - User-Konfiguration
.ssh-agent - Ssh
.tcshrc - TCSH - Shell - Konfigurationsfile
.tex - TEX
.viminfo - VIM, VI
.vimrc - VIM, VI
.xinitrc - X-Server - Start User
.xserverrc.secure -
.xsession - X-Server
.xsession-errors - X-Server - Fehler
|
| next | back | SS 2010 - 3 |
Fehlerhafte Punktfiles können zum Absturz eines Programms führen.
Im ungünstigsten Fall kann ein fehlerhaftes Punktfile das Login
eines Nutzers verhindern. Deshalb ist bei der Modifikation von
Punktfiles Vorsicht geboten. Man sollte immer Sicherheitskopien
anlegen und die Änderung ausprobieren bevor man sich ausloggt.
Also:
cp <Punktfile> <Punktfile>.old # bei Files
oder
cp -r <Punktfile> <Punktfile>.old # bei Directories
Sollte man dies vergessen haben:
rm -r <Punktfile>
dadurch werden die entsprechenden Punktfiles gelöscht
und das Programm greift auf den Standard zurück!!!!
|
| next | back | SS 2010 - 4 |
Einstellen der Punktfiles/Umgebung am Institut
Die Systemadministratoren haben schon etwas für die Nutzer gemacht.
Ändern der Umgebung für einen Nutzer mit:
/usr/local/bin/huinstall
Der Nutzer kann dabei folgende Einstellungen wählen:
Mailserver - Server, auf dem die Mail des Nutzers
gespeichert wird. Für neue Studenten immer
mailbox
Shell - vom Nutzer nach dem Login benutzte Standarshell.
Folgende Shells stehen zur Verfügung:
sh - Bourne Shell
csh - C-Shell
bash - Bourne Again Shell (für Anfänger empfohlen)
tcsh - Turbo C-Shell
ksh - Korn-Shell
Nach dem Ändern ist ein Logout und ein neues Login notwendig, damit
die Änderungen notwendig werden
Hier ist die Vorlesung im Crashkurs zu Ende. Neugierige können zu Hause
weiterlesen.
|
| next | back | SS 2010 - 5 |
.profile - Startfile für sh und bash
Abarbeitung: nur bei login!!!!
Beispiel (Informatik - huinstall):
##
## .profile
## Version 1.5
## Mon Nov 03 11:20:49 DFT 2003
## j-p bell, p kaempfer
## Aenderungen auf eigene Gefahr, schwere Fehler verhindern ein Login
## wird von sh unter Linux
## und von sh und ksh unter Solaris benutzt
##
## Diese Datei wurde automatisch durch huinstall erzeugt !
##
## Anhand des entsprechenden Hostnamens, Systemnamens und NEWSHELL
## werden unterschiedliche Initialisierungen unterschieden.
## .profile wird von sh und ksh benutzt, deshalb ein paar Kopfstaende
##
# Enthaelt die gewuenschte Shell, falls dies von der LOGIN-Shell abweicht
#
NEWSHELL=bash
# Der vorlaeufige Pfad wird gesetzt, nicht aendern
PATH="/usr/bin:/bin:/usr/local/bin"; export PATH
|
| next | back | SS 2010 - 6 |
# Envoirmentvariablen fuer System und Host setzen:
SYSTEM=`uname -s`
if [ ${SYSTEM} = "SunOS" ] && [ `uname -r | cut -c1` -ge 5 ]; then
SYSTEM="Solaris"
fi
HOST=`hostname`
export SYSTEM HOST
if [ -z "$LOGNAME" ] ; then
LOGNAME=`logname`;export LOGNAME
fi
if [ -z "$USER" ] ; then
USER="$LOGNAME"
fi
export USER LOGNAME
# fuer Leute, die GNU mehr vertrauen
# Achtung Probleme bei man unter Solaris
# PATH="/usr/local/bin:/usr/bin:/bin"; export PATH
# Envoirmentvariablen fuer Mail
# Fuer Studenten: /vol/mailslv1/${USER}
# Fuer Mitarbeiter: /vol/mail/${USER}
MAIL=/vol/mail/${USER};export MAIL
MAILSERVER=mail ; export MAILSERVER
umask 077
case $SYSTEM in
|
| next | back | SS 2010 - 7 |
Solaris )
#
# dieser Teil wird unter Solaris auch von der ksh abgearbeitet, dafuer kein .kshrc
#
# AKTSHELL enthaelt ksh oder sh
AKTSH=`ps -efa | awk '{ if ( $2 == NN ) print $8 ; }' NN=$$ | sed s/-//`
AKTSHELL=`basename $AKTSH`
if [ "$AKTSHELL" != "ksh" ] ; then
AKTSHELL=sh
fi
LOGIN=`ps -efa | awk '{ if ( $2 == NN ) print $8 ; }' NN=$$ | grep - `
PATH="${PATH}:/usr/local/TeX/bin:/usr/local/X11/bin/:${HOME}/bin:."
PATH="${PATH}:/usr/ucb:/usr/sbin/:/sbin:/usr/dt/bin:."
# Fuer Java den Pfad erweitern
PATH="/usr/local/Java/bin:${PATH}"
MANPATH=/usr/local/man:/usr/man:/usr/local/X11/man:/usr/dt/man
# Zu guter Letzt die Pfade exportieren ..
export PATH MANPATH
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x ${PATHDIR}/$AKTSHELL ] ; then
SHELL=${PATHDIR}/$AKTSHELL ; export SHELL
break
fi
done
MYSHELL=$SHELL
|
| next | back | SS 2010 - 8 |
if [ "$DT" ] ; then
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x $PATHDIR/$NEWSHELL ] ; then
SHELL=$PATHDIR/$NEWSHELL ; export SHELL
break
fi
done
AKTSHELL=$NEWSHELL
SHELLSWITCHED=1 ; export SHELLSWITCHED
else
if [ "x$LOGIN" != "x" ] ; then # Shell ist interaktiv.
if [ $NEWSHELL != "$AKTSHELL" ] ; then # $NEWSHELL laeuft nicht
if [ "x$SHELLSWITCHED" = "x" ] ; then # Shell noch nicht geswitchet
SHELLSWITCHED=1 ; export SHELLSWITCHED
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x $PATHDIR/$NEWSHELL ] ; then
SHELL=$PATHDIR/$NEWSHELL ; export SHELL
if [ "$NEWSHELL" = "tcsh" ] ; then exec $PATHDIR/$NEWSHELL -l ; fi
if [ "$NEWSHELL" = "csh" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
if [ "$NEWSHELL" = "ksh" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
if [ "$NEWSHELL" = "bash" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
if [ "$NEWSHELL" = "sh" ] ; then exec $PATHDIR/$NEWSHELL ; fi
fi
done
echo "Es existiert keine $NEWSHELL."
fi
fi
fi
|
| next | back | SS 2010 - 9 |
SHELLSWITCHED=1 ; export SHELLSWITCHED
# Setze einige Shellvariablen:
HISTSIZE=20
HISTFILESIZE=20
FIGNORE=".o:.vim:.bak:.BAK:\~"
PS1="$HOST $USER \$ "
export HISTSIZE HISTFILESIZE FIGNORE
# Aliases und Variablen koennen auch abhaengig von installierten
# Programmen gesetzt werden, z.B vim fuer vi, less fuer more:
# $EDITOR wird von einigen Programme (elm, knews) als Defaulteditor
# verwendet, analog kann man so seinen Lieblingseditor waehlen.
if [ -x /usr/bin/vim ] ; then
EDITOR=vim; export EDITOR
alias vi=/usr/bin/vim
elif [ -x /usr/local/bin/vim ] ; then
EDITOR=vim; export EDITOR
alias vi=/usr/local/bin/vim
else
# Besser als ed
EDITOR=vi; export EDITOR
fi
# if [ -x /usr/bin/less -o -x /usr/local/bin/less ] ; then
# PAGER=less;export PAGER
# fi
# die Aliases 'psa' und 'psu' hinzugefuegt.
alias psa="ps -ef"
alias psu="psa |grep $USER |grep -v 'ps -ux' |grep -v grep |more"
fi
;;
|
| next | back | SS 2010 - 10 |
Linux )
# diese Passage wird von Linux unter folgenden Bedingungen sekundaer abgearbeitet
# sh (bash) - nach Abarbeitung von .bashrc
# ksh - nach Abarbeitung von .kshrc
MANPATH=/usr/local/man:/usr/share/man:/usr/man:/usr/local/X11/man:/usr/X11/man
# fuer kde und gnome erweitern
PATH="${PATH}:/opt/gnome/bin:/opt/gnome2/bin:/opt/kde2/bin:/opt/kde3/bin"
PATH="${PATH}:/usr/local/X11/bin:/usr/X11/bin:${HOME}/bin:."
PATH="${PATH}:/usr/sbin:/sbin"
# Fuer Java den Pfad erweitern und andere Einstellungen
PATH="${PATH}:/usr/lib/java/bin"
# Zu guter Letzt die Pfade exportieren ..
export PATH MANPATH
;;
* )
PATH="/usr/local/bin:/usr/bin:/bin:/usr/ucb/:${HOME}/bin:."
echo SYSTEM $SYSTEM unbekannt.
;;
esac
|
| next | back | SS 2010 - 11 |
.bashrc - Startfile für bash
Abarbeitung: beim Starten jeder bash
Beispiel (Informatik - huinstall):
##
## .bashrc
## Version 1.6
## Mon Nov 03 11:17:42 DFT 2003
## j-p bell, p kaempfer
## Aenderungen auf eigene Gefahr, schwere Fehler verhindern ein Login
## wird von bash benutzt
## Achtung unter Linux ist sh ein Link auf bash, die bash arbeitet dann erst .bashrc ab
## und dann .profile
##
## Diese Datei wurde automatisch durch huinstall erzeugt !
##
## Anhand des entsprechenden Hostnamens, Systemnamens und NEWSHELL
## werden unterschiedliche Initialisierungen unterschieden.
#
# Enthaelt die gewuenschte Shell, falls dies von der LOGIN-Shell abweicht
#
NEWSHELL=bash
# Der vorlaeufige Pfad wird gesetzt, nicht aendern
PATH="/bin:/usr/bin:/usr/local/bin"; export PATH
|
| next | back | SS 2010 - 12 |
# Envoirmentvariablen fuer Hostname und System setzen:
SYSTEM=`uname -s`
if [ ${SYSTEM} = "SunOS" ] && [ `uname -r | cut -c1` -ge 5 ]; then
SYSTEM="Solaris"
fi
HOST=`hostname`
export HOST SYSTEM
if [ -z "$LOGNAME" ] ; then
LOGNAME=`logname`;export LOGNAME
fi
if [ -z "$USER" ] ; then
USER="$LOGNAME"
fi
export USER LOGNAME
# Envoirmentvariablen fuer Mail
# Studenten: /vol/mailslv1/${USER}
# Mitarbeiter: /vol/mail/${USER}
MAIL=/vol/mail/${USER};export MAIL
MAILSERVER=mail ; export MAILSERVER
# fuer Leute, die GNU mehr vertrauen
# Achtung Probleme bei man unter Solaris
# PATH="/usr/local/bin:/bin:/usr/bin"; export PATH
umask 077
#
# Systemabhaengige Einstellungen
#
case $SYSTEM in
|
| next | back | SS 2010 - 13 |
Solaris )
PATH="${PATH}:/usr/local/TeX/bin:/usr/local/X11/bin/:${HOME}/bin:."
PATH="${PATH}:/usr/sbin/:/sbin:/usr/dt/bin:."
# Fuer Java den Pfad erweitern
PATH="/usr/local/Java/bin:${PATH}"
MANPATH=/usr/local/man:/usr/man:/usr/local/X11/man:/usr/dt/man
# Pfade exportieren ..
export PATH MANPATH
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x ${PATHDIR}/bash ] ; then
SHELL=${PATHDIR}/bash ; export SHELL
break
fi
done
MYSHELL=$SHELL
if [ "$DT" ] ; then
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x $PATHDIR/$NEWSHELL ] ; then
SHELL=$PATHDIR/$NEWSHELL ; export SHELL
break
fi
done
SHELLSWITCHED=1 ; export SHELLSWITCHED
else
|
| next | back | SS 2010 - 14 |
if [ ! -z "$PS1" ] ; then # Shell ist interaktiv.
if [ "$NEWSHELL" != "bash" ] ; then # $NEWSHELL laeuft nicht
if [ "x$SHELLSWITCHED" = "x" ] ; then # Shell noch nicht geswitchet
SHELLSWITCHED=1 ; export SHELLSWITCHED
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x $PATHDIR/$NEWSHELL ] ; then
SHELL=$PATHDIR/$NEWSHELL ; export SHELL
if [ "$NEWSHELL" = "tcsh" ] ; then exec $PATHDIR/$NEWSHELL -l ; fi
if [ "$NEWSHELL" = "csh" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
if [ "$NEWSHELL" = "ksh" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
if [ "$NEWSHELL" = "sh" ] ; then exec $PATHDIR/$NEWSHELL ; fi
fi
done
echo "bashrc Es existiert keine $NEWSHELL ."
fi
fi
fi
SHELLSWITCHED=1 ; export SHELLSWITCHED
# Setze einige Shellvariablen:
HISTSIZE=20
HISTFILESIZE=20
FIGNORE=".o:.vim:.bak:.BAK:\~"
# Prompt definieren
PS1="\h \u \# ( \W ) \$ "
export HISTSIZE HISTFILESIZE FIGNORE PS1
# HISTCONTROL=ignoredups;export HISTCONTROL
set -o ignoreeof # CRTL-D NICHT als exit,
# Eigene Aliases koennen in der Datei ~/.alias_bash definiert werden.
if [ -f ~/.alias_bash ] ; then
|
| next | back | SS 2010 - 15 |
source ~/.alias_bash
fi
# Systemahaengige Aliases koennen in der Datei ~/.alias_bash.Solaris
if [ -f ~/.alias_bash.Solaris ] ; then
source ~/.alias_bash.Solaris
fi
# Aliases und Variablen koennen auch abhaengig von installierten
# Programmen gesetzt werden, z.B vim fuer vi, less fuer more:
# $EDITOR wird von einigen Programme (elm, knews) als Defaulteditor
# verwendet, analog kann man so seinen Lieblingseditor waehlen.
if [ -x /usr/bin/vim ] ; then
EDITOR=vim; export EDITOR
alias vi=/usr/bin/vim
elif [ -x /usr/local/bin/vim ] ; then
EDITOR=vim; export EDITOR
alias vi=/usr/local/bin/vim
else
# Besser als ed
EDITOR=vi; export EDITOR
fi
# if [ -x /usr/bin/less -o -x /usr/local/bin/less ] ; then
# PAGER=less;export PAGER
# fi
# die Aliases 'psa' und 'psu' hinzugefuegt.
alias psa="ps -ef"
alias psu="ps -ef|grep $USER |grep -v 'ps -ef' |grep -v grep |more"
alias sh="SHELL=/bin/sh; export SHELL; SHELLSWITCHED=1 ; export SHELLSWITCHED ; /bin/sh; SHELL=$MYSHELL; export SHELL"
alias ksh="SHELL=/bin/ksh; export SHELL; SHELLSWITCHED=1 ; export SHELLSWITCHED ; /bin/ksh; SHELL=$MYSHELL; export SHELL"
fi
;;
|
| next | back | SS 2010 - 16 |
Linux )
AKTSH=`ps --no-heading -fp $$ | awk '{ print $8 ; }' | sed s/-// `
AKTSHELL=`basename $AKTSH`
if [ "$AKTSHELL" != "sh" ] ; then
AKTSHELL=bash
fi
MANPATH=/usr/local/man:/usr/share/man:/usr/man:/usr/local/X11/man:/usr/X11/man
# fuer kde und gnome den Pfad erweitern
PATH="${PATH}:/opt/kde2/bin:/opt/kde3/bin:/opt/gnome/bin:/opt/gnome2/bin"
PATH="${PATH}:/usr/local/X11/bin:/usr/X11/bin:${HOME}/bin:."
PATH="${PATH}:/usr/sbin:/sbin"
# Fuer Java den Pfad erweitern und andere Einstellungen
PATH="${PATH}:/usr/lib/java/bin"
# Pfade exportieren ..
export PATH MANPATH
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x ${PATHDIR}/${AKTSHELL} ] ; then
SHELL=${PATHDIR}/${AKTSHELL} ; export SHELL
break
fi
done
MYSHELL=$SHELL
|
| next | back | SS 2010 - 17 |
if [ ! -z "$PS1" ] ; then # Shell ist interaktiv.
if [ $NEWSHELL != "$AKTSHELL" ] ; then # $NEWSHELL laeuft noch nicht
if [ "x$SHELLSWITCHED" = "x" ] ; then # Shell noch nicht geswitchet
SHELLSWITCHED=1 ; export SHELLSWITCHED
# versuche $NEWSHELL als login-shell zu starten
for PATHDIR in /bin /usr/bin /usr/local/bin
do
if [ -x $PATHDIR/$NEWSHELL ] ; then
SHELL=$PATHDIR/$NEWSHELL ; export SHELL
if [ "$NEWSHELL" = "tcsh" ] ; then exec $PATHDIR/$NEWSHELL -l ; fi
if [ "$NEWSHELL" = "csh" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
if [ "$NEWSHELL" = "ksh" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
if [ "$NEWSHELL" = "sh" ] ; then exec $PATHDIR/$NEWSHELL ; fi
if [ "$NEWSHELL" = "bash" ] ; then exec $PATHDIR/$NEWSHELL -i ; fi
fi
done
echo "Es existiert keine $NEWSHELL ."
fi
fi
SHELLSWITCHED=1 ; export SHELLSWITCHED
# Setze einige Shellvariablen:
HISTSIZE=20
HISTFILESIZE=20
FIGNORE=".o:.vim:.bak:.BAK:\~"
# Prompt definieren
PS1="\h \u \# ( \W ) \$ "
export HISTSIZE HISTFILESIZE FIGNORE PS1
# HISTCONTROL=ignoredups;export HISTCONTROL
set -o ignoreeof # CRTL-D NICHT als exit,
|
| next | back | SS 2010 - 18 |
# Eigene Aliases koennen in der Datei ~/.alias_bash definiert werden.
# bash kann (leider) auch keine Alias-Expansion
if [ -f ~/.alias_bash ] ; then
source ~/.alias_bash
fi
# Systemahaengige Aliases koennen in der Datei ~/.alias_bash.Linux`
if [ -f ~/.alias_bash.Linux ] ; then
source ~/.alias_bash.Linux
fi
# Aliases und Variablen koennen auch abhaengig von installierten
# Programmen gesetzt werden, z.B vim fuer vi, less fuer more:
# $EDITOR wird von einigen Programme (elm, knews) als Defaulteditor
# verwendet, analog kann man so seinen Lieblingseditor waehlen.
if [ -x /usr/bin/vim ] ; then
EDITOR=vim; export EDITOR
alias vi=/usr/bin/vim
elif [ -x /usr/local/bin/vim ] ; then
EDITOR=vim; export EDITOR
alias vi=/usr/local/bin/vim
else
# Besser als ed
EDITOR=vi; export EDITOR
fi
# if [ -x /usr/bin/less -o -x /usr/local/bin/less ] ; then
# PAGER=less;export PAGER
# fi
# die Aliases 'psa' und 'psu' hinzugefuegt.
alias psa="ps -aux"
|
| next | back | SS 2010 - 19 |
alias psu="ps -aux|grep $USER |grep -v 'ps -aux' |grep -v grep |more"
alias ksh="SHELL=/usr/bin/ksh; export SHELL; SHELLSWITCHED=1 ; export SHELLSWITCHED ; /usr/bin/ksh; SHELL=$MYSHELL; export SHELL"
alias sh="SHELL=/bin/sh; export SHELL; SHELLSWITCHED=1 ; export SHELLSWITCHED ; /bin/sh; SHELL=$MYSHELL; export SHELL"
alias kde="SHELLSWITCHED= ; export SHELLSWITCHED ;xinit ${HOME}/.startkde"
alias gnome="SHELLSWITCHED= ; export SHELLSWITCHED ;xinit ${HOME}/.startgnome"
if [ "x$DISPLAY" != "x" ] ; then
STARTXAUSSCHRIFT=ja; export STARTXAUSSCHRIFT
fi
if [ "x$STARTXAUSSCHRIFT" = "x" ] ; then
STARTXAUSSCHRIFT=ja; export STARTXAUSSCHRIFT
echo
echo Starten der X-Umgebung
echo " kde (startet kde)"
echo " oder"
echo " gnome (startet gnome)"
echo
fi
fi
;;
* )
echo SYSTEM $SYSTEM unbekannt.
;;
esac
|
| next | back | SS 2010 - 20 |
.cshrc - Startfile für csh
Abarbeitung: beim Starten jeder C-Shell
Beispiel (Informatik - huinstall):
##
## .cshrc
## Version 1.6
## Mon Nov 03 11:18:30 DFT 2003
## j-p bell, p kaempfer
## Aenderungen auf eigene Gefahr, schwere Fehler verhindern ein Login
## wird von csh benutzt
##
## Diese Datei wurde automatisch durch huinstall erzeugt
##
## Anhand des entsprechenden Hostnamens, Systemnamens und NEWSHELL
## werden unterschiedliche Initialisierungen unterschieden.
# Enthaelt die gewuenschte Shell, falls dies von der LOGIN-Shell abweicht
set NEWSHELL="bash"
# Der vorlaeufige Pfad wird gesetzt, nicht aendern
setenv PATH "/bin:/usr/bin:/usr/local/bin"
if ( ! $?LOGNAME ) setenv LOGNAME `logname`
if ( ! $?USER ) setenv USER ${LOGNAME}
# Envoirmentvariablen fuer Mail
# fuer Studenten: /vol/mailslv1/${USER}
# fuer Mitarbeiter: /vol/mail/${USER}
setenv MAIL /vol/mail/${USER}
|
| next | back | SS 2010 - 21 |
setenv MAILSERVER mail
setenv HOST `hostname`
setenv SYSTEM `uname -s`
if ( ${SYSTEM} == "SunOS" && `uname -r | cut -c1` >= 5 ) setenv SYSTEM "Solaris"
umask 077
#
# Systemabhaengige Einstellungen
#
switch ($SYSTEM)
case Solaris:
# Fuer Leute, die GNU mehr vertrauen:
# Achtung Probleme bei man unter Solaris
# setenv PATH "/usr/local/bin:/bin:/usr/bin"
setenv MANPATH "/usr/local/man:/usr/man:/usr/local/X11/man:/usr/openwin/man:/usr/dt/man"
setenv PATH "${PATH}:/usr/local/TeX/bin:/usr/local/X11/bin"
setenv PATH "${PATH}:/usr/ucb:${HOME}/bin:/usr/sbin:/sbin:/usr/dt/bin:."
# Fuer Java den Pfad erweitern
setenv PATH "/usr/local/Java/bin:${PATH}"
foreach pathdir ($path)
if ( -x ${pathdir}/csh ) then
setenv SHELL "${pathdir}/csh"
break
endif
end
set MYSHELL=${SHELL}
|
| next | back | SS 2010 - 22 |
if ( $?DT ) then
foreach pathdir ($path)
if ( -x $pathdir/$NEWSHELL ) then
setenv SHELL "$pathdir/$NEWSHELL"
break
endif
end
setenv SHELLSWITCHED 1
else
if ( $?prompt ) then # Shell ist interaktiv.
if ( "csh" != "$NEWSHELL" ) then # NEWSHELL laeuft noch nicht.
# pruefen ob "csh" als loginshell
if ( ! $?SHELLSWITCHED ) then # $AKTSHELL noch nicht geswitchet
setenv SHELLSWITCHED 1
foreach pathdir ($path)
if ( -x $pathdir/$NEWSHELL ) then
setenv SHELL "$pathdir/$NEWSHELL"
if ( $NEWSHELL == "tcsh" ) exec $pathdir/$NEWSHELL -l
if ( $NEWSHELL == "bash" ) exec $pathdir/$NEWSHELL -i
if ( $NEWSHELL == "sh" ) then
setenv PS1 `hostname`' $ '
exec $pathdir/$NEWSHELL
endif
if ( $NEWSHELL == "ksh" ) exec $pathdir/$NEWSHELL -i
endif
end
echo "cshrc Es existiert keine $NEWSHELL."
endif
endif
endif
|
| next | back | SS 2010 - 23 |
setenv SHELLSWITCHED 1
# Setze einige Shell - Variablen :
set history=40
set savehist=20
set cdpath=(. $HOME)
set ignoreeof
alias a alias
# Eigene Aliases koennen in der Datei ~/.alias_csh definiert werden.
if ( -e ~/.alias_csh ) then
source ~/.alias_csh
endif
# Systemahaengige Aliases
if ( -e ~/.alias_csh.Solaris ) then
source ~/.alias_csh.Solaris
endif
# Aliases und Variablen koennen auch abhaengig von installierten
# Programmen gesetzt werden, z.B vim fuer vi, less fuer more:
# $EDITOR wird von einigen Programme (elm, knews) als Defaulteditor
# verwendet, analog kann man so seinen Lieblingseditor waehlen.
if ( -x /usr/bin/vim ) then
setenv EDITOR vim
alias vi /usr/bin/vim
else if ( -x /usr/local/bin/vim ) then
setenv EDITOR vim
alias vi /usr/local/bin/vim
else
|
| next | back | SS 2010 - 24 |
setenv EDITOR vi
endif
# less als Pager fuer man, elm u.a.
# if ( -x /usr/bin/less ) then
# setenv PAGER less
# else if ( -x /usr/local/bin/less ) then
# setenv PAGER less
# endif
# Definiere Prompt fuer C- und Turbo - C-Shell:
a cd "cd \!* ; set_prompt"
a set_prompt 'set prompt="${HOST} ${LOGNAME} \! ( `dirs | sed -e '\''s/.*[^\/]\(\/[^\/]*\/[^\/]*\)/...\1/'\''`) > "'
set_prompt
# Aliases z.B. 'psa' und 'psu' hinzugefuegt.
a psa "ps -ef"
a psu "psa |grep $USER |grep -v 'ps -ux' |grep -v grep |more"
a sh "setenv SHELL /bin/sh ; setenv SHELLSWITCHED 1; /bin/sh; setenv SHELL $MYSHELL"
a ksh "setenv SHELL /bin/ksh ; setenv SHELLSWITCHED 1; /bin/ksh; setenv SHELL $MYSHELL"
endif
setenv SHELLSWITCHED 1
breaksw
|
| next | back | SS 2010 - 25 |
case Linux:
# dieser Teil wird von LINUX nicht benutzt, da csh ein Link auf tcsh ist
# Fuer Leute, die GNU mehr vertrauen:
# setenv PATH "/usr/local/bin:/usr/bin:/bin"
setenv MANPATH "/usr/local/man:/usr/share/man:/usr/man:/usr/local/X11/man:/usr/X11/man"
# Fuer Gome und KDE den Pfad erweitern
setenv PATH "${PATH}:/opt/kde2/bin:/opt/kde3/bin:/opt/gnome/bin:/opt/gnome2/bin"
setenv PATH "${PATH}:/usr/local/X11/bin:/usr/X11/bin:${HOME}/bin:."
# Fuer Java den Pfad erweitern und ein paar Einstellungen
setenv PATH "${PATH}:/usr/lib/java/bin"
# Fuer Gome und KDE den Pfad erweitern
breaksw
case *:
echo SYSTEM $SYSTEM unbekannt.
endsw
|
| next | back | SS 2010 - 26 |
.login - Startfile für csh (login)
Abarbeitung: beim Starten eine C-Shell als login-Shell nach .cshrc
.logout - Endefile für csh (logout)
Abarbeitung: Beenden einer Login-C-Shell
|
| back | SS 2010 - 27 |