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 |