Springe zum Hauptinhalt

Bourne
next up previous contents
Next: Abfangen von Signalen Up: Spezielle Probleme und Kommandos Previous: Here-Dokumente

set-Kommando


Das built in Kommando set dient verschiedenen Zwecken:

  • Anzeigen der aktuellen Werte aller Shell-Variablen (außer $, ?, !, #, -) in der Form varname=wert durch
    $ set
    DINP    xterms
    MINP    xx
    STDFILES        /uni/global/text/defaults
    UINP
    addsuffix
    argv    ()
    autocorrect
    autoexpand
    autolist
    correct cmd
    cwd     /afs/tu-chemnitz.de/home/urz/s/stb
    dirstack        /afs/tu-chemnitz.de/home/urz/s/stb
    echo_style      both
    edit
    gid     102
    group   urz
    history 99
    home    /afs/tu-chemnitz.de/home/urz/s/stb
    owd     /afs/tu-chemnitz.de/home/urz/s/stb/sh
    path    (/afs/tu-chemnitz.de/home/urz/s/stb/bin /afs/tu-chemnitz.de/home/urz/s/stb/linux/bin /uni/dept/bin /usr/afsws/bin /usr/local/bin /bin /usr/bin /usr/X11R6/bin /usr/X11R6/bin /usr/local/bin /uni/global3/bin /uni/global/bin /usr/X11R6/bin)
    prompt  %{\e]2\;%m:%/^g\e]1\;%m^g\r%}%S%n@%m%s %~ !%#
    prompt2 %R?
    prompt3 CORRECT>%R (y|n|e|a)?
    savehist        20
    shell   /bin/tcsh
    shlvl   1
    status  0
    tcsh    6.08.00
    term    xterms
    tty     pts/7
    uid     4707
    user    stb
    version tcsh 6.08.00 (Astron) 1998-10-02 (i486-intel-linux) options 8b,nls,dl,al,rh,color
    %DISPLAY=:0
    %FONTPATH=/usr/openwin/lib/fonts
    %FRAMEBUFFER=/dev/fb
    %HELPPATH=/usr/openwin/lib/help
    %HOME=/home/urz/fs1/wmc
    %IFS=     
    %
    %LD_LIBRARY_PATH=/usr/openwin/lib
    %LINES=24
    %LOGNAME=wmc
    %MAILCHECK=600
    %MANPATH=/usr/openwin/share/man:/usr/global/man:/usr/local/man:/usr/man
    %NEWSSERVER=2255341579.2000;hannibal
    %OPENWINHOME=/usr/openwin
    %OPTIND=1
    %PATH=.:/home/urz/fs1/wmc:/home/urz/fs1/wmc/bin:/usr/openwin/bin/xview:/usr/openwin/bin:/usr/bin/X11:/usr/global/bin:/usr/ucb:/usr/5bin:/bin:/usr/bin:/usr/etc
    %PS1=$ 
    %PS2=> 
    %PWD=/home/urz/fs1/wmc
    %SHELL=/bin/csh
    %TERM=sun-cmd
    %TERMCAP=sun-cmd:te=\E[>4h:ti=\E[>4l:tc=sun:
    %USER=wmc
    %WINDOW_PARENT=/dev/win0
    %WMGR_ENV_PLACEHOLDER=/dev/win3
    %XAPPLRESDIR=/usr/openwin/lib/X11/app-defaults
    %$
    
  • Setzen der Shell-Variablen 1, 2, ... innerhalb eines Shell-Scripts durch
    set arg_1 arg_2 ...
    
  • Beispiel:
    #!/bin/sh
    set `date`   # weekday  mon dd hh:mm:ss mon timezone daylight year
    
    case $1 in
                   0[6-9]:??:??)  echo Guten Morgen!;;
                   1[0-7]:??:??)  echo Guten Tag!;;
      1[8-9]:??:??|2[0-1]:??:??)  echo Guten Abend!;;
                              *)  echo Um diese Zeit schlaeft ein normaler Mensch!
                                  echo Gute Nacht!;;
    esac
    
    
  • Setzen spezieller Shell-Optionen (Auswahl)
    set -n # Nur Lesen der Kommandos, keine Ausfuehrung (no execution)
    set -v # Ausgabe aller Kommandos am Terminal vor der Ausfuehrung (verbose)
    set -x # Ausgabe der Kommandos plus Argumente 
           # sowie der Variablenwerte nach jeder Kommandoausfuehrung
    set -  # Ausschalten -x und -v
    
  • Bemerkungen:
    • Kombination der Optionen möglich
    • Debugging von Shell-Scripts auf diese Weise unterstützt
    • Variable - enthält die aktuellen Shell-Optionen