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