Next: Standard- E/A und Fileumlenkung Up: Bourne-Shell als Kommando- und Previous: Literaturverzeichnis
Kommandos
- Kommando: Auftrag an das System zur Ausführung einer Funktion. Im Normalfall resultiert hieraus die Ausführung eines Programmes, nur wenige Funktionen sind fest in der Shell ,,verdrahtet`` (built-in-commands).
-
Kommandoaufruf: Folge von ein oder mehreren Worten, die untereinander durch
Leerzeichen oder Tabulatorzeichen getrennt sind
cmd_name [arg1 ... argn ]
wobei cmd_name den Namen des Kommandos (d.h. des aufzurufenden Programmes) angibt und die restlichen Worte (falls vorhanden) die Kommandoargumente spezifizieren, d.h. zusätzlich Informationen an das Programm übergeben-
Beispiele:
$ ls Listen der Filenamen im aktuellen Verzeichnis kap01.tex kap02.tex kap03.tex kap04.tex kap05.tex abbildungen $ $ ls -l "lange Liste" total 106 -rw-rw---- 1 stb urz 1802 Feb 23 13:41 kap01.tex -rw-rw---- 1 stb urz 4681 Feb 23 14:25 kap02.tex -rw-rw---- 1 stb urz 4165 Feb 23 13:29 kap03.tex -rw-rw---- 1 stb urz 2898 Feb 23 13:26 kap04.tex -rw-rw---- 1 stb urz 3101 Feb 23 13:26 kap05.tex drwxrwx--- 1 stb urz 512 Feb 9 16:20 abbildungen $ $ ls abbildungen bild01.fig bild02.fig bild03.fig bild04.fig bild05.fig bild06.fig bild07.fig $ vi kap01.tex
-
Beispiele:
-
Mehrere Kommandos können durch Semikolon auf einer Zeile eingegeben werden, sie werden
sequentiell nacheinander abgearbeitet:
$ cd sort; pg sort.c sort.h subr.c; cd
-
Bemerkungen:
- Arbeitsweise der Shell
- Argumente werden an das Programm durchgereicht
- ,,Prompt``-Zeichen
-
Hintergrundprozesse
$ cmd & $ cmd1 & cmd2 cmd1 als Hintergrundprozeß cmd2 als Vordergrundprozeß -
Beispiele:
$ cc prog.c & 632 $ ps PID TT STAT TIME COMMAND 630 p3 S 0:00 sh 632 p3 S 0:00 cc prog.c 634 p3 R 0:00 ps $ $ ls & ps 652 kap01.tex kap02.tex kap03.tex kap04.tex kap05.tex kap06.tex kap07.tex kap08.tex kap09.tex prog.c PID TT STAT TIME COMMAND 640 p4 S 0:00 /usr/openwin/bin/xview/shelltool 641 p4 IW 0:00 -bin/csh (csh) 643 p4 IW 0:00 -sh -c umask 006; cd ~bur;newgrp urzbur (csh) 645 p4 S 0:00 -bin/csh (csh) 651 p4 S 0:00 sh 652 p4 R 0:00 ls 653 p4 R 0:00 ps $ ps & ls 654 kap01.tex kap02.tex kap03.tex kap04.tex kap05.tex kap06.tex kap07.tex kap08.tex kap09.tex prog.c PID TT STAT TIME COMMAND 640 p4 S 0:02 /usr/openwin/bin/xview/shelltool 641 p4 IW 0:00 -bin/csh (csh) 643 p4 IW 0:00 -sh -c umask 006; cd ~bur;newgrp urzbur (csh) 645 p4 IW 0:00 -bin/csh (csh) 651 p4 S 0:00 sh 654 p4 R 0:00 ps $
-
Bemerkungen:
- Simultane Kommandoausführung
- während der Verarbeitung eines Vordergrundkommandos ,,schläft`` die Shell
- Prozeßnummer des Hintergrundprozesses Abbruch möglich
- (evtl.) ,,gemischte`` Ausgaben am Terminal
-
vermeiden: Terminaleingabe für Hintergrundprogramm
Beispiel: (evtl.) folgendes Script inputst ausführen lassen:$ cat inputtst : # while true do echo -n "Soll die Verarbeitung fortgesetzt werden? [j/n]:" read ans case $ans in j|J) echo JA;continue;; n|N) echo NEIN;break;; *) echo $ans : FEHLERHAFTE EINGABE;continue;; esac done $ inputtst soll die Verarbeitung fortgesetzt werden? [j/n]:j JA Soll die Verarbeitung fortgesetzt werden? [j/n]:n NEIN $ $ inputtst & soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE soll die Verarbeitung fortgesetzt werden? [j/n]:: FEHLERHAFTE EINGABE ...
-
Beispiele:
Next: Standard- E/A und Fileumlenkung Up: Bourne-Shell als Kommando- und Previous: Literaturverzeichnis